Nagios
Maintainer
Michael Weinberger
Introduction
Nagios is a host and service monitor designed to inform you of network problems before your clients, end-users or managers do. Read more...
This Nagios contrib installs Nagios Version 3 and was tested on fresh installed SME Server 7.3
It provides all packages needed to setup a SME Server as a central Nagios monitoring server including the graphical performance data analyser PNP4Nagios.
(Applied this how-to on a fresh SME Server 7.4, works)
Statusmap screenshot of a sample Nagios configuration | PNP Screenshot (Source: www.pnp4nagios.org) |
These packages are provided by the contrib. All other dependend packages will be installed via yum from the Centos and DAG repostitories.
Package | Version | Build date | Purpose |
---|---|---|---|
smeserver-nagios | 2.0.0-1 | 17 Nov 2008 | Integrates Nagios service into the SME Server |
smeserver-nagios-nrpe | 2.0.0-1 | 17 Nov 2008 | Integrates NRPE service into the SME Server |
smeserver-nagios-nsca | 2.0.0-1 | 17 Nov 2008 | Integrates NSCA service into the SME Server (needed in a Distributed Installation) |
smeserver-nagios-plugins-mysql | 2.0.0-1 | 18 Nov 2008 | Plugin that checks the mysqld service on a SME Server |
smeserver-nagios-backup | 2.0.0-1 | 17 Nov 2008 | Nagios backup integration. Includes Nagios configuration and status data into the SME standard backup |
nagios-plugins-temptrax | 2.0.1-1 | 18 Nov 2008 | Plugins for the Sensatronics Ethernet Temperature Devices E4/E16/F |
nagios-plugins-esx3i | 1.0.3-0 | 16 Nov 2008 | Plugins to monitor ESXi servers that support the "Common Information Model (CIM)" protocol like Dell PowerEdge 29xx. Read more... |
perl-Nagios-Plugin | 0.17-1 | 19 Oct 2007 | A family of perl modules to streamline writing Nagios plugins |
nagios-of-plugins | 0.9.4-1 | 08 Jul 2007 | Additional plugins written by Gavin Carr of Open Fusion |
nagios-plugins-generic | 1.0.0 | 01 Nov 2007 | A generic plugin. Read more... |
nagios-nuvola-1.0.3.tar.gz | 1.0.3 | 28 Oct 2007 | Nuvola GUI theme |
nagios-icons-nx-1.0.0.tar.gz | 1.0.0 | 04 Nov 2007 | Additional useful icons, including the SME logo |
Download
Download the packages and files from http://mirror.contribs.org/smeserver/contribs/michaelw/sme7/Nagios3/packages/ manually or run the the script wgetall to download all in one go.
bash < wgetall
Installation
Configure the dag repositoy
You need to activate the Dag reposity before installing this contrib.
see dag repository
Installation of a central Nagios server
Intstalling the packages
/usr/bin/yum --enablerepo=dag install \ nagios-plugins-setuid \ perl-Config-Tiny
/usr/bin/yum --enablerepo=dag localinstall \ smeserver-nagios-*.noarch.rpm \ pnp-*.i386.rpm \ smeserver-nagios-backup-*.noarch.rpm \ perl-Nagios-Plugin-*.noarch.rpm \ smeserver-nagios-plugins-mysql-*.noarch.rpm \ nagios-plugins-generic-*.noarch.rpm \ nagios-of-plugins-*.noarch.rpm \ nagios-plugins-temptrax-*.el4.rf.i386.rpm \ nagios-plugins-esx3i-*.el4.noarch.rpm
Use the configuration files from the smeserver-nagios package as a starting point. This provides a working configuration.
/bin/cp -ba /etc/nagios/nagios.cfg-smeserver /etc/nagios/nagios.cfg /bin/cp -ba /etc/nagios/cgi.cfg-smeserver /etc/nagios/cgi.cfg
Configuring global access with password required
config set nagios service Name Nagios PublicAccess global-pw expand-template /etc/httpd/conf/httpd.conf service httpd-e-smith restart service nagios restart
Test the installation by pointing your browser to https://IPADDRESS/nagios/
Browser login in as admin. After 10 minutes the performance data graphes are available. Click on on the 'star' icon next to the service name to view the graphes on a new page.
Install the VMware ESXi Server CIM Hardware Monitoring (optional)
If you plan to monitor an ESx3i server with CIM compliant hardware, you can configure the ESXi plugin
/usr/bin/yum --enable=dag install openssl-devel perl-XML-SAX
Download and install the VMware Infrastructure (VI) Perl Toolkit
Ignore this warning: The following Perl modules were found on the system but may be too old to work with VIPerl: URI XML::NamespaceSupport
It does not affect the proper function of the nagios plugins.
To get some configuration hints run
rpm -qi nagios-plugins-esx3i
Install the Nuvola theme (optional)
The Nuvola theme provides a nice and modern GUI. The screenshot above was made with the Nuvola theme installed.
cd /usr/share/nagios rm -rf config.js images index.html main.html side side.html stylesheets cd - tar --strip-path=1 -C /usr/share/nagios -xzf nagios-nuvola-*.tar.gz chmod a+r -R /usr/share/nagios
Empty your browser cache and reload the Nagios page.
Install the Ajaxterm contrib and run
patch -p0 /usr/share/nagios/side/dtree_data.js < dtree_data.js.patch
Empty your browser cache and reload the Nagios page.
Install additional logo icons (optional)
This installs a set of icons, including the SME server logo. The logos can be used in the hostextinfo{} sections. A preview of the logos can be found here.
tar --strip-path 1 -C /usr/share/nagios/images/logos -xzf nagios-icons-nx-*.tar.gz chown nagios.root /usr/share/nagios/images/logos/* chmod 644 /usr/share/nagios/images/logos/*
Hints
- Place all your configuration files in /etc/nagios/ in the sub-directories templates, host, services, etc.
- Do not change the default pathes of log files, rrd files, etc.. The smeserver-nagios-backup RPM requires these settings to work properly.
- Nagios 3 runs host checks that provides performance data. Add this action_url option to each host definiton:
action_url /nagios/pnp/index.php?host=$HOSTNAME$
- Add this action_url option to service checks with performance data output
action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
- You can permit other users to access Nagios. Add them separated by a comma to the lines
authorized_for_system_information=admin authorized_for_system_commands=admin authorized_for_configuration_information=admin authorized_for_all_hosts=admin authorized_for_all_host_commands=admin authorized_for_all_services=admin authorized_for_all_service_commands=admin
- It is a good idea to make your Nagios server as independent as possible from the infrastructure it monitors, i.e., use a dedicated hardware, network, mail- and pager system, firewall and internet connection if possible.
- Consider to setup a second Nagios somewhere on your network, which monitors your central Nagios server. Then you need to install the NRPE also on the central server.
Update from Nagios 2 to Nagios 3
Before installing this contrib based on Nagios 3, remove all packages of the previous Nagios 2 installation
service nagios stop service nagiosgrapher stop
/usr/bin/yum erase \ nagios-plugins-esx3i \ nagios-nrpe \ nagios-plugins-temptrax \ nagios-plugins \ nagios-of-plugins \ nagios-plugins-generic \ nagios smeserver-nagios-nrpe \ smeserver-nagios \ smeserver-nagios-plugins-mysql \ nagios-plugins-nrpe \ nagios-plugins-setuid \ smeserver-nagiosgrapher \ smeserver-nagios-backup
Remove all NagiosGrapher rrd data. It is not possible to tranfer the existing NagiosGrapher data to PNP.
rm -rf /var/lib/nagios/*
Backup your Nagios configuration data
cp -a /etc/nagios /etc/nagios.v2
Delete Nagios configuration data
rm -rf /etc/nagios
Move the retention data to the new Nagios 3 loaction
mkdir -p /var/nagios/ mv /var/log/nagios/retention.dat /var/nagios/
Now install this contrib following the instructions in chapter 'Installation'
service nagios stop
Delete the default configuration files
cd /etc/nagios rm -rf commands/default.cfg \ objects \ contacts/contacts.cfg \ hostgroups/default.cfg \ hosts/localhost.cfg \ servicegroups/default.cfg \ services/localhost.cfg \ templates/default.cfg \ timeperiods/default.cfg
Copy your saved configuration files to /etc/nagios. When you place them into the pre-defined directories contacts, services, hostgroups, templates, commands, hosts, servicegroups, and timeperiods you don't need to adjust nagios.cfg.
Review your config files and do the following
- add use host-pnp to your generic host definition to add an action url for PNP to all hosts.
- for all services that output performance data add action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$ to your service template definitions
- move all options from hostextinfo definition (except host_name and action_url) to host definition. Delete the hostextinfo definition.
- do the same for serviceextinfo definitons
When done check your config
nagios -v /etc/nagios/nagios.cfg
and finally start the service
service nagios start
Backup and Restore
With the smeserver-nagios-backup RPM installed all Nagios and PNP configuration data, status data and archives are included in the SME Server standard backup. In the pre-backup event those data are copied to the /home/e-smith/db/nagios/ directory. As the nagios service is stopped during copying it is recommended to configure Nagios to save its scheduling info (next check time) for hosts and services in a file and use this at startup. Otherwise Nagios would re-schedule all checks spreaded over the timeframe defined by max_service_check_spread and max_host_check_spread (default 30 min). As a result you would have gaps in checking and visible gaps in the PNP graphes.
in /etc/nagios/nagios.cfg set:
retain_state_information=1 state_retention_file=/var/nagios/retention.dat use_retained_program_state=1 use_retained_scheduling_info=1
When doing a restore, the data from /home/e-smith/db/nagios/ are copied back to their original locations in the bootstrap-console-save event.
Uninstall
This removes the installed Nagios packages.
service nagios stop
rpm -e \ nagios-of-plugins \ nagios-plugins-esx3i \ nagios-plugins-generic \ nagios-plugins-temptrax \ perl-Nagios-Plugin \ pnp \ smeserver-nagios \ smeserver-nagios-backup \ smeserver-nagios-nrpe \ smeserver-nagios-nsca \ smeserver-nagios-plugins-mysql \ nagios-plugins-setuid \ perl-Config-Tiny
Remvove the dependencies if not needed by other contribs
rpm -e \ fping \ gd \ libart_lgpl \ libmcrypt \ nagios \ nagios-nrpe \ nagios-nsca \ nagios-nsca-client \ nagios-plugins \ nagios-plugins-nrpe \ perl-Class-Accessor \ perl-Crypt-DES \ perl-Math-Calc-Units \ perl-Net-SNMP \ perl-Params-Validate \ perl-rrdtool \ rrdtool \ xinetd
Ignore the warnings about non-existing user nagios and group nagios.
expand-template /etc/httpd/conf/httpd.conf service httpd-e-smith restart
References
- Nagios NRPE Contrib: Nagios NRPE
- Nagios NSCA Contrib: Nagios NSCA
- Nagios: http://www.nagios.org/
- perl-Nagios-Plugin: http://members.financial.com/~cmr/rpmforge/perl-Nagios-Plugin/
- nagios-of-plugins: http://www.nagiosexchange.org/Plugin_Packages.52.0.html?&tx_netnagext_pi1%5Bp_view%5D=323
- Nuvola theme: http://www.nagiosexchange.org/Image_Packs.75.0.html?&tx_netnagext_pi1%5Bp_view%5D=252&tx_netnagext_pi1%5Bpage%5D=10%3A10
- Temptrax Plugin: http://www.nagiosexchange.org/cgi-bin/page.cgi?g=1716.html
- Nagios books: "Nagios : system and network monitoring / Wolfgang Barth / ISBN 1-59327-070-4", "Building a Monitoring Infrastructure with Nagios / David Josephsen / ISBN 0-13-223693-1"
- Nagios in a German Computer Magazine: http://www.heise.de/netze/artikel/81238
- PNP4Nagios: http://www.pnp4nagios.org/pnp/start