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.
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-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.0-1 | 17 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 |
smeserver-nagios-plugins-mysql | 1.0.2 | 24 Nov 2007 | Plugin that checks the mysqld service on a SME Server |
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
The following command will configure the dag repository on SME Server. EDIT NOT COMPLETE!
To create an entry in the database for the epel repository we open put the following commands in a terminal
window or in a shell window:
/sbin/e-smith/db yum_repositories set epel repository \
Name 'SME Server - epel' \ BaseURL 'http://<http://download.fedoraproject.org/pub/epel/7/$basearch' \ EnableGroups yes \ GPGCheck yes \ Visible no \ status disabled
To enable the changes:
signal-event yum-modify
Just to be sure, give yum a fresh start:
yum clean all
After adding it to the database we have to update the changes to the configuration file:
signal-event yum-modify
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 \ nagios-of-plugins \ nagios-plugins-generic \ nagios-plugins-setuid \ nagios-plugins-temptrax \ perl-Nagios-Plugin \ smeserver-nagios-plugins-mysql
expand-template /etc/httpd/conf/httpd.conf service httpd-e-smith restart
References
- 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