Difference between revisions of "Nagios"
Line 3: | Line 3: | ||
{{Note box|This contrib was only applied and used on fresh SME (server only mode) install. Conflicts with other installed packages were not examined. The author strongly recommend to install this monitoring system on a dedicated server. It is entirely possible to run it on a virtualized system, which monitors the host itself. In this case you should set up a second Nagios server (acting as a watchdog) on an independent hardware to monitor the main Nagios system}} | {{Note box|This contrib was only applied and used on fresh SME (server only mode) install. Conflicts with other installed packages were not examined. The author strongly recommend to install this monitoring system on a dedicated server. It is entirely possible to run it on a virtualized system, which monitors the host itself. In this case you should set up a second Nagios server (acting as a watchdog) on an independent hardware to monitor the main Nagios system}} | ||
+ | |||
+ | {{Note box|On '''October 22, 2008''', the Nagios main system installation including [[Ajaxterm]] as well as the [[Nagios Grapher]] installation were reviewed and successfully installed on a fresh SME 7.3 with all yum updates applied.}} | ||
Revision as of 23:10, 22 October 2008
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... Also available as a contrib is the addon Nagios Grapher that collects performance data and represents these as graphs.
This Nagios contrib installs Nagios Version 2.9 and was tested on SME Releases 7.1.2, 7.1.3 and 7.2.
It provides all packages needed to setup a SME Server as a central Nagios monitoring server and all packages needed to monitor SME Servers via the NRPE (Nagios Remote Plugin Executer).
Statusmap screenshot of a sample Nagios configuration |
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 | 1.0.5 | 14 Nov 2007 | Integrates Nagios service into the SME Server |
smeserver-nagios-nrpe | 1.0.3 | 03 Dec 2007 | Integrates NRPE service into the SME Server |
smeserver-nagios-nsca | 1.0.1 | 26 Oct 2007 | Integrates NSCA service into the SME Server (needed in a Distributed Installation) |
smeserver-nagios-backup | 1.0.3 | 03 Dec 2007 | Nagios backup integration. Includes Nagios configuration and status data into the SME standard backup |
perl-Nagios-Plugin | 0.17-1 | 19 Oct 2007 | A family of perl modules to streamline writing Nagios plugins |
nagios-plugins-temptrax | 1.0.1 | 01 Nov 2007 | Plugins for the Sensatronics Ethernet Temperature Devices E4/E16/F |
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 |
nagios-plugins-esx3i | 1.0.1-0 | 22 Oct 2008 | Plugins to monitor ESXi servers that support the "Common Information Model (CIM)" protocol like Dell PowerEdge 29xx. Read more... |
Download
Download the packages and files from http://mirror.contribs.org/smeserver/contribs/michaelw/sme7/nagios/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
/usr/bin/yum --enablerepo=dag localinstall \ smeserver-nagios-*.noarch.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-esx3i-*.el4.noarch.rpm
/usr/bin/yum --enablerepo=dag install \ nagios-plugins \ nagios-plugins-nrpe \ nagios-plugins-setuid \ perl-Config-Tiny \ perl-Class-Accessor
Configure 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
Test the installation by pointing your browser to https://nagios_central_server_ip/nagios/
Browser login in as admin.
Install the VMware ESXi Server CIM Hardware Monitoring (optional)
/usr/bin/yuminstall openssl-devel /usr/bin/yum--enable=dag install 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.
Run
rpm -qi nagios-plugins-esx3i
to get some configuration hints.
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/*
NRPE installation on the SME servers to be monitored by the central Nagios server
/usr/bin/yum --enablerepo=dag localinstall \ smeserver-nagios-nrpe-*.noarch.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
/usr/bin/yum --enablerepo=dag install \ nagios-plugins \ nagios-plugins-setuid \ perl-Config-Tiny \ perl-Class-Accessor
NRPE configuration
Create a the NRPE configuration file /etc/nagios/nrpe.cfg. Use the nrpe.cfg provided by this conrib as a starting point. Add the IP address of your central Nagios server to the variable allowed_hosts. Use the local IP of the central Nagios server if you check the server over the local network or over a VPN, otherwise use the WAN IP.
Restart the service
service nrpe restart
Allow the central Nagios server to access the NRPE service
Add the IP address of the your central Nagios to Local Networks in the server-manager.
Configure the TCP wrapper. This is required for SSL connections to the NRPE.
config setprop nrpe HostsAllow "127.0.0.1 NAGIOS_CENTRAL_SERVER_IP" expand-template /etc/hosts.allow
Allow the Nagios plugins to be executed as root (optional)
A few plugins only work when they are executed as root. This configures the sudoers configuration.
config setprop nrpe sudoPlugins yes expand-template /etc/sudoers
If the NRPE SME server is behind a firewall, you must forward port 5666/tcp to the server.
Test the installation by running this command on the central Nagios server:
/usr/lib/nagios/plugins/check_nrpe -H IPADDRESS
Expected result:
NRPE v2.5.1
NSCA installation (Distributed Monitoring)
Installation of a distributed server
/usr/bin/yum --enablerepo=dag localinstall \ smeserver-nagios-nsca-*.noarch.rpm \ smeserver-nagios-backup-*.noarch.rpm \ perl-Nagios-Plugin-*.noarch.rpm \ smeserver-nagios-plugins-*.noarch.rpm \ nagios-plugins-generic-*.noarch.rpm \ nagios-of-plugins-*.noarch.rpm
/usr/bin/yum --enablerepo=dag install \ nagios-plugins \ nagios-plugins-nrpe \ nagios-plugins-setuid \ perl-Config-Tiny
Configuration of a distributed server
Configure the distributed server by editing the client config file /etc/nagios/send_nsca.cfg. Read more here.
Additonal installation on the central Nagios server
/usr/bin/yum --enablerepo=dag localinstall \ smeserver-nagios-nsca-*.noarch.rpm
NSCA configuration on the central Nagios server
Configure the TCP wrapper.
config setprop nsca HostsAllow "127.0.0.1 DISTRIBUTED_SERVER_IP" expand-template /etc/hosts.allow
Configure the NSCA service by editing the config file /etc/nagios/nsca.cfg. Read more here. Restart the service to make the configuration effective:
service nsca restart
Nagios configuration
It is strongly recommended to read the Nagios and NRPE documentation to understand the principles of operation before you start to configure Nagios.
When changes to the nagios configuration were made, the service must be restarted:
service nagios restart
When nrpe.cfg was changed the nrpe service must be restarted:
service nrpe restart
Hints
- Place all your configuration files in /etc/nagios/, the Logfile /var/log/nagios/nagios.log, the Log-Archives in /var/log/nagios/archives/ and the status file in /var/log/nagios/status.dat. These are the default settings. Leave them unchanged. The smeserver-nagios-backup RPM requires these settings to work properly.
- Set the following in /etc/nagios/cgi.cfg to grant full accces to the user admin:
use_authentication=1 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.
Backup and Restore
With the the smeserver-nagios-backup RPM installed all Nagios and Nagios Grapher 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 graphs of Nagios Grapher.
in /etc/nagios/nagios.conf add/edit:
retain_state_information=1 state_retention_file=/var/log/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.
/usr/bin/yum erase \ nagios \ nagios-of-plugins \ nagios-plugins-generic \ nagios-plugins-setuid \ nagios-plugins-temptrax \ perl-Nagios-Plugin \ smeserver-nagios-plugins-mysql
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/Environmental.60.0.html?&tx_netnagext_pi1%5Bp_view%5D=246&tx_netnagext_pi1%5Bpage%5D=20%3A10
- 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
- SME Server Contrib Nagios Grapher