When deploying new server/servergroup/cluster to your IT infrastructure, deployment (simplified) consist of following steps:
- OS installation: to do it over network, boot server must be configured for this new server/servergroup/cluster,
- configuration/package management: configuration server has to be aware of the newcomer(s),
- monitoring and alerting: monitoring software must be reconfigured,
- performance metrics: a tool for collecting data must be reconfigured.
There are many excellent software solutions for those particular jobs, say configuration management (Puppet, Chef, cfengine, bcfg2), monitoring hosts and services (Nagios, Zabbix, OpenNMS, Zenoss, etc) and performance metrics (Ganglia, etc). But each of these tools has to be configured independently or at least configuration has to be generated. What tools do you use to achieve this?
For example, when you have to deploy a new server, how do you create configs for, let's say, PXE boot server, Puppet, Nagios and Ganglia, at once?
Sounds like what you're talking about is an "init script" which configures all the services out of the box. I've not really seen any good out of the box solutions for this. Basically you will need to find a way to script the process. The script would install any needed services and make edits to the config files or download pre-written config files and modify them. Then it would clean up. It is a pain to make a fool proof init script for all possible configurations of servers, but worth it in the long run.