====== Nagios Distributed Monitoring configuration ====== ===== Central Server configuration (Ubuntu 12.04 Server LTS) ===== ==== Installation and configuration ==== - Install packages sudo apt-get install nagios3 --no-install-recommends # use "--no-install-recommends" in order not to install samba packages sudo apt-get install nagios-images sudo apt-get install nsca && update-rc.d nsca enable - Make directories for custom configs sudo mkdir -p /etc/nagios3/custom/{commands,hosts,services,templates} - Edit /etc/nagios3/nagios.cfg --- nagios.cfg.orig 2012-02-15 21:10:11.000000000 +0400 +++ nagios.cfg 2012-05-17 14:40:43.734332705 +0400 @@ -55,6 +55,10 @@ #cfg_dir=/etc/nagios3/printers #cfg_dir=/etc/nagios3/switches #cfg_dir=/etc/nagios3/routers +cfg_dir=/etc/nagios3/custom/commands +cfg_dir=/etc/nagios3/custom/hosts +cfg_dir=/etc/nagios3/custom/services +cfg_dir=/etc/nagios3/custom/templates @@ -142,7 +146,8 @@ # you will have to enable this. # Values: 0 = disable commands, 1 = enable commands -check_external_commands=0 +#check_external_commands=0 +check_external_commands=1 @@ -1027,7 +1032,8 @@ # manner. # Values: 1 = enabled freshness checking, 0 = disable freshness checking -check_host_freshness=0 +#check_host_freshness=0 +check_host_freshness=1 - Change permissions to /var/lib/nagios3 # Change directory permissions and make the changes permanent in order to make external commands work (check /usr/share/doc/nagios3/README.Debian for more information) /etc/init.d/nagios3 stop dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3 /etc/init.d/nagios3 start - Add /etc/nagios3/custom/templates/generic-host-passive.cfg define host{ name generic-host-passive use generic-host active_checks_enabled 0 check_freshness 1 check_command return-unknown register 0 } - Add /etc/nagios3/custom/templates/generic-service-passive.cfg define service{ name generic-service-passive use generic-service active_checks_enabled 0 check_freshness 1 check_command return-unknown register 0 } - Create a user and password # Create htpasswd file and set a password for nagiosadmin (this information is used to access the web-interface) htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin - Examples of a passive host and a service definitions: * /etc/nagios3/custom/hosts/server1.cfg # Define host "server1" define host{ use generic-host-passive host_name server1 } * /etc/nagios3/custom/services/disk-space.cfg # Define service "Disk Space" define service{ use generic-service-passive host_name server1 service_description PING } ==== Usage ==== * Apply the new configuration sudo /etc/init.d/nagios3 reload * Use http://IPADDRESS/nagios3 in order to access nagios web-interface ===== Distributed Server configuration (Ubuntu 12.04 Server LTS) ===== ==== Installation and configuration ==== - Install packages sudo apt-get install nagios3-core sudo apt-get install nagios3-cgi --no-install-recommends # use "--no-install-recommends" in order not to install apache2 packages sudo apt-get install nsca - Disable localhost checking in order not to confuse with localhost on the Central Server sudo rename 's/$/.disabled/' /etc/nagios3/conf.d/{extinfo_nagios2,hostgroups_nagios2,localhost_nagios2,services_nagios2}.cfg - Edit /etc/nagios3/nagios.cfg --- nagios.cfg.orig 2011-06-07 17:08:33.000000000 +0400 +++ nagios.cfg 2012-05-18 14:57:29.343833057 +0400 @@ -55,6 +55,9 @@ #cfg_dir=/etc/nagios3/printers #cfg_dir=/etc/nagios3/switches #cfg_dir=/etc/nagios3/routers +cfg_dir=/etc/nagios3/commands +cfg_dir=/etc/nagios3/hosts +cfg_dir=/etc/nagios3/services @@ -808,7 +811,8 @@ # service notifications when it is initially (re)started. # Values: 1 = enable notifications, 0 = disable notifications -enable_notifications=1 +#enable_notifications=1 +enable_notifications=0 @@ -913,7 +917,8 @@ # implementing distributed monitoring. # Values: 1 = obsess over services, 0 = do not obsess (default) -obsess_over_services=0 +#obsess_over_services=0 +obsess_over_services=1 @@ -926,6 +931,7 @@ # more information on implementing distributed monitoring. #ocsp_command=somecommand +ocsp_command=submit_check_result_via_nsca_service @@ -937,7 +943,8 @@ # implementing distributed monitoring. # Values: 1 = obsess over hosts, 0 = do not obsess (default) -obsess_over_hosts=0 +#obsess_over_hosts=0 +obsess_over_hosts=1 @@ -950,6 +957,7 @@ # more information on implementing distributed monitoring. #ochp_command=somecommand +ochp_command=submit_check_result_via_nsca_host - Edit /etc/nagios3/resource.cfg --- resource.cfg.orig 2011-06-07 17:07:47.000000000 +0400 +++ resource.cfg 2012-05-12 17:39:46.125679961 +0400 @@ -24,7 +24,7 @@ $USER1$=/usr/lib/nagios/plugins # Sets $USER2$ to be the path to event handlers -#$USER2$=/usr/lib/nagios/plugins/eventhandlers +$USER2$=/usr/share/nagios3/plugins/eventhandlers # Store some usernames and passwords (hidden from the CGIs) #$USER3$=someuser - Add /etc/nagios3/commands/submit_check_result_via_nsca_host.cfg define command{ command_name submit_check_result_via_nsca_host command_line $USER2$/distributed-monitoring/submit_check_result_via_nsca $HOSTNAME$ $HOSTSTATEID$ '$HOSTOUTPUT$|$HOSTPERFDATA$' } - Add /etc/nagios3/commands/submit_check_result_via_nsca_service.cfg define command{ command_name submit_check_result_via_nsca_service command_line $USER2$/distributed-monitoring/submit_check_result_via_nsca $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATEID$ '$SERVICEOUTPUT$|$SERVICEPERFDATA$' } - Examples of an active host and a service definitions: * /etc/nagios3/hosts/server1.cfg define host{ use generic-host host_name server1 address 127.0.0.1 } * /etc/nagios3/services/ping.cfg define service { use generic-service service_description PING check_command check_ping!100.0,20%!500.0,60% host_name server1 } ==== Usage ==== * Apply the new configuration sudo /etc/init.d/nagios3 reload ===== Links ===== * http://nagios.sourceforge.net/docs/3_0/distributed.html {{tag>ubuntu nagios}}