diff options
Diffstat (limited to 'doc/plugins/generators/nagiosgen.txt')
-rw-r--r-- | doc/plugins/generators/nagiosgen.txt | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/doc/plugins/generators/nagiosgen.txt b/doc/plugins/generators/nagiosgen.txt new file mode 100644 index 000000000..55b6063a5 --- /dev/null +++ b/doc/plugins/generators/nagiosgen.txt @@ -0,0 +1,164 @@ +.. -*- mode: rst -*- + +========= +NagiosGen +========= + +This page describes the installation and use of the [http://trac.mcs.anl.gov/projects/bcfg2/browser/trunk/bcfg2/src/lib/Server/Plugins/NagiosGen.py NagiosGen] plugin. + +Update /etc/bcfg2.conf, adding NagiosGen to plugins:: + + plugins = SSHbase,Cfg,Pkgmgr,Rules,TCheetah,TWbase,NagiosGen + +Create the NagiosGen directory:: + + $ mkdir /var/lib/bcfg2/NagiosGen + +Create default host, and group specs in: + +* /var/lib/bcfg2/NagiosGen/default-host.cfg:: + + define host{ + name default + check_command check-host-alive + check_interval 5 + check_period 24x7 + contact_groups admins + event_handler_enabled 1 + failure_prediction_enabled 1 + flap_detection_enabled 1 + initial_state o + max_check_attempts 10 + notification_interval 0 + notification_options d,u,r + notification_period workhours + notifications_enabled 1 + process_perf_data 0 + register 0 + retain_nonstatus_information 1 + retain_status_information 1 + retry_interval 1 + } + +* /var/lib/bcfg2/NagiosGen/default-group.cfg:: + + define service{ + name default-service + active_checks_enabled 1 + passive_checks_enabled 1 + obsess_over_service 0 + check_freshness 0 + notifications_enabled 1 + event_handler_enabled 1 + flap_detection_enabled 1 + process_perf_data 0 + retain_status_information 1 + retain_nonstatus_information 1 + is_volatile 0 + + check_period 24x7 + max_check_attempts 4 + check_interval 5 + retry_interval 1 + contact_groups admins + notification_options w,u,c,r + notification_interval 0 + notification_period workhours + } + +Create group configuration files (Named identical to Bcfg2 groups) and +add services, and commands specific to the hostgroup (Bcfg2 group) in + +* /var/lib/bcfg2/NagiosGen/base-group.cfg:: + + define hostgroup{ + hostgroup_name base + alias base + notes Notes + } + + define service{ + service_description NTP + check_command check_ntp! + use default-service + hostgroup_name base + } + + define command{ + command_name check_ssh + command_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$ + } + + define service{ + service_description SSH + check_command check_ssh! + use default-service + hostgroup_name base + } + +* /var/lib/bcfg2/NagiosGen/web-server-group.cfg:: + + define hostgroup{ + hostgroup_name web-server + alias Port 80 Web Servers + notes UC/ANL Teragrid Web Servers Running on Port 80 + } + + define command{ + command_name check_http_80 + command_line $USER1$/check_http $HOSTADDRESS$ + } + + define service{ + service_description HTTP:80 + check_command check_http_80! + use default-service + hostgroup_name web-server + } + +Create a nagios bcfg2 bundle /var/lib/bcfg2/Bundler/nagios.xml + +.. code-block:: xml + + <Bundle name='nagios' version='2.0'> + <ConfigFile name='/etc/nagiosgen.status'/> + <Group name='rh'> + <Group name='nagios-server'> + <ConfigFile name='/etc/nagios/nagiosgen.cfg'/> + <Package name='libtool-libs'/> + <Package name='nagios'/> + <Package name='nagios-www'/> + <Service name='nagios'/> + </Group> + </Group> + <Group name='debian-lenny'> + <Group name='nagios-server'> + <ConfigFile name='/etc/nagios3/nagiosgen.cfg' + altsrc='/etc/nagios/nagiosgen.cfg'/> + <Package name='nagios3'/> + <Package name='nagios3-common'/> + <Package name='nagios3-doc'/> + <Package name='nagios-images'/> + <Service name='nagios3'/> + </Group> + </Group> + </Bundle> + +Assign clients to nagios groups in +/var/lib/bcfg2/Metadata/groups.xml + +.. code-block:: xml + + <Group name='nagios'> + <Bundle name='nagios'/> + </Group> + + <Group name='nagios-server'> + <Bundle name='nagios'/> + </Group> + +Update nagios configuration file to use nagiosgen.cfg:: + + cfg_file=/etc/nagios/nagiosgen.cfg + +Note that some of these files are built on demand, each time a client in group "nagios-server" checks in with the bcfg2 server. Local nagios instances can be configured to use the !NagiosGen directory in the bcfg2 repository directly. |