Nagios

From SME Server
Jump to navigation Jump to search

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 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, inlucding the SME logo

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 
/usr/bin/yum --enablerepo=dag install \
 nagios-plugins \
 nagios-plugins-nrpe \
 nagios-plugins-setuid \
 perl-Config-Tiny \
 nagios-of-plugins

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 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.

Integrate Ajaxterm in the Nuvola theme Home menu (optional)

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 
/usr/bin/yum --enablerepo=dag install \
 nagios-plugins \
 nagios-plugins-setuid \
 perl-Config-Tiny \
 nagios-of-plugins


NRPE configuration

Create a the NRPE configuration file /etc/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)

  Warning:
This is untested and may not work as expected


  Incomplete:
This article or section needs to be expanded. Please help to fill the gaps or discuss the issue on the talk page


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 
/usr/bin/yum --enablerepo=dag install \
 nagios-plugins \
 nagios-plugins-nrpe \
 nagios-plugins-setuid \
 perl-Config-Tiny \
 nagios-of-plugins
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