.. -*- 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
Assign clients to nagios groups in
/var/lib/bcfg2/Metadata/groups.xml
.. code-block:: xml
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.