christopher.harris

Automating Probe Deployment...

Discussion created by christopher.harris on Jun 13, 2009
Latest reply on Jun 19, 2009 by christopher.harris
I'm not done with my work by any stretch of the imagination, but I thought I would put this out as a sort of RFC in case others have some helpful tips for achieving my goals.

 


Goals

1.      Every server has the robot installed and configured properly

2.      Every robot has default monitoring for CPU, Disk, Memory, Services, Process, etc.

3.      Every robot has application specific monitoring installed and configured properly

4.      All this happens automatically while the monitoring guy is
sipping margaritas on the beach

 


 

Robot Install

 

Currently my robots can be installed remotely (as long as there is RPC connectivity) or by running a batch file from the computer to be monitored. Both methods copy the robot files to the computer, install the VS2008_redist, and install the robot service. Computers without robots can be discovered by running a script that compares the Robots assigned to a hub with the computer accounts in Active Directory.

Next steps are to automate the running of the script to detect unmonitored computers, and to include the robot install as part of the server build process.

Default Monitoring

 

When the robot is installed, a request.cfg file is included which causes the robot to automatically install a probe called bb_od_Default the first time it starts.

bb_od_Default is a custom package that had dependencies on three other custom
packages:

bb_od_Default_cdm

bb_od_Default_ntservices

bb_od_Default_robot

Each of these three packages has a dependency on the corresponding probe (i.e. cdm, ntservices) as well as a .cfx file which configures the probe according to our requirements.

 


 

When bb_od_Default is installed it causes the dependent packages and probes to be installed as well. Next steps are to spec out the default configurations for ntperf (monitoring disk perf) and processes (monitoring for runaway processes, etc.), to create packages for these and to add the new packages as dependencies to bb_od_Default.

Application-Specific
Monitoring

(This is not currently automated, though I plan to build a process that will detect applications that are installed on a server and automatically install and/or remove probes/packages as appropriate.)

Currently I have packages for two of our different types of email servers – Hurricane and IceWarp. These packages are much like the bb_od_Default package in that they have dependencies on other packages. Where the bb_od_Default_ntservices probe configures the default settings of the probe and can enable monitoring of services needed on every server, the Hurricane package modifies the configuration so that Hurricane services are monitored.

 

 

 

 

In addition, due to the dependencies in the packages, if all of the probes are removed from a Hurricane server, reinstalling all of them is as easy as dropping the bb_od_email_hurricane package which will install all of the Default probes as well as the Hurricane-specific probes.

 

Remaining Tasks

1.      Include robot install as part of the server build process

2.      Define default monitoring for additional probes

3.      Define application-specific monitoring each application and build the packages

4.      Build a discovery system to deploy application-specific probes automatically

5.      Buy a margarita machine!

I would be grateful for any advide you may have. (Especially if it involves where to find a good deal on a margarita machine, though it may be a while before I have a chance to enjoy it!)

Chris

Outcomes