Nagios – Prüfung Prozess auf Remote Linux System

Hallo,

ein Nagios mit Version 4 läuft bei mir schon lange (derzeitig auf einem Ubuntu 14.04 LTS).

Die meisten Serversysteme prüfe ich auf Erreichbarkeit (PING) – bei einigen Windowssystemen habe ich jedoch auch zwischenzeitlich Prozessprüfungen oder Kapazitätsprüfungen hinzugefügt.

Da ich nun auch auf einem Raspberry PI (v1) ein paar Dinge laufen lasse, möchte ich nun eine Prozessprüfung darauf machen mittels NRPE (Nagios Remote Plugin Executor).

Auf dem Raspberry läuft für eine TK-Anlage Musik in der Dauerschleife – dieses Prozess (mpd) will ich prüfen.

Nachfolgend mein kleiner Aufschrieb meiner Config.

Starten wir mit der CONFIG auf dem Raspberry (remote host):

Zunächst muss auf dem Raspberry den NRPE Server installieren werden mittels

sudo apt-get install nagios-nrpe-server

Ist dies geschehen, muss in der NRPE Config den Nagios Server als Host hinterlegen, damit sich dieser verbinden darf.

Hierzu muss die Datei

sudo vi /etc/nagios/nrpe.cfg

in der Zeile

allowed_hosts=127.0.0.1,192.168.0.106

erweitert bzw. ergänzt werden.

Die Konfigurationsdatei /etc/nagios/nrpe.cfg enthält bereits vordefinierte Kommando Definitione, welche genutzt werden können.

Für meinen Fall füge ich ein zusätzliches Kommando hinzu (hervorgehoben).

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

command[check_mpd_proc]=/usr/lib/nagios/plugins/check_procs -c 1:1 -C mpd

Hierbei prüfe ich den Prozess mpd (-C mpd), ob dieser ausgeführt wird oder nicht.

Mit dem Parameter „-c 1:1“ wird angegeben, das wenn 1 Prozess läuft, die Abfrage OK ist – läuft er nicht, ist er „kritisch“

In der Config können noch weitere Änderungen gemacht werden – je nach Anforderung.

Damit es später auch keine Rechte-Probleme mit der (remote-)Ausführung gibt,

sollte für den User „nagios“ eine Ausnahme in der Datei

/etc/sudoers

gemacht werden.

In meinem Beispiel habe ich die Ausführung aller PlugIn Scripte erlaubt

nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/

Aber zum Schluss nicht vergessen, den Daemon neu zu laden.

sudo service nagios-nrpe-server reload

 

Weitere gehts mit der CONFIG auf dem NAGIOS Server…

Hier muss sichergestellt werden, das die NRPE Plugins installiert sind.

Falls nicht, können diese (und nur diese) wie folgt nachinstalliert werden.

sudo apt-get --no-install-recommends install nagios-nrpe-plugin

Mit der Option „–no-install-recommends“ wird verhindert, dass Nagios mit installiert wird.

Nun muss ein neuer Prüfprozess im Nagios erfasst werden

define command{
                command_name                          check_lxremote_mpd
                command_line                          /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -p 12489 -c check_mpd_proc
}

Fix noch eine Hostzuweisung des Checks machen und Nagios reloaden.

Dann sollte es hoffentlich wie folgt aussehen.

blog-raspi-nrpe

Viel Spass nun beim testen …

Installation Nagios 4.1 auf einem Ubuntu 14.04 LTS

Hallo zusammen,

anbei mein Aufschrieb zur (frischen) Installation eines Nagios 4.1 auf einem Ubuntu 14.04 LTS.

Gegeben ist ein Ubuntu 14.04 LTS voll gepatched.

1.) Installation des LAMP Paketes

$ sudo apt-get install wget apache2 apache2-utils php5 libapache2-mod-php5 build-essential libgd2-xpm-dev

2.) Starten des Apache Dienstes

$ service apache2 start

3.) User und Gruppe für Nagios erstellen

$ sudo useradd nagios
$ sudo passwd nagios

4.) Zuordnung zum Web

$ sudo groupadd nagcmd
$ sudo usermod -a -G nagcmd nagios
$ sudo usermod -a -G nagcmd www-data

5.) Installation von Nagios Core

$ cd /tmp/
$ wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
$ tar xzf nagios-4.1.1.tar.gz
$ cd nagios-4.1.1
$ sudo ./configure --with-command-group=nagcmd
$ sudo make all
$ sudo make install
$ sudo make install-init
$ sudo make install-config
$ sudo make install-commandmode

Nun noch eine Config für den Apache erzeugt …

sudo touch /etc/apache2/conf-available/nagios.conf

Öffne diese .conf und füge folgendes ein:

sudo vi /etc/apache2/conf-available/nagios.conf
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Restricted Area"
   AuthType Basic
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   Require valid-user
</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Restricted Area"
   AuthType Basic
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   Require valid-user
</Directory>

6.) Konfiguration des Apache Users:

Bei Aufruf der Webadresse wird diese durch einen User gesichert. In diesem Falle der User „nagiosadmin“.

Diese kann natürlich auch geändert werden.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

7.) Aktivieren der nagios Apache Konfig

Aktiviere nun die nagios Apache Config. Zusätzlich muss noch das cgi Modul aktiviert werden und ein Neustart des Apache ausführen.

$ sudo a2enconf nagios
$ sudo a2enmod cgi
$ sudo service apache2 restart

8.) Download und Installation der Nagios Plugins

$ cd /opt
$ wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
$ tar xzf nagios-plugins-2.1.1.tar.gz
$ cd nagios-plugins-2.1.1

9.) Nun noch die Sourcen kompilieren und installieren

$ sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios
$ sudo make
$ sudo make install

10.) Nagios Config prüfen und Nagios Deamon und starten:

$ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
$ service nagios start

11.) Aufruf Nagios Webfrontend

http://<servername_oder_ip>/nagios/

12.) Viel Spass beim konfigurieren … 😉

Nagios: Check command … not defined …

Dein Nagios meldet plötzlich:

Error: Service check command ‚check_qnapdisk‘ specified in service ‚check_qnap-disk‘ for host ‚qnap01‘ not defined anywhere!

 

Dann prüfe mal,

– ist das PlugIn vorhanden?               => liegt (standardmäßig) in /usr/local/nagios/libexec/
– die config-Datei „Commands.cfg“  => ist der Service definiert?
– die config-Datei „services.cfg“         => ist der Service definiert, um vom Host genutzt werden zu können?

 

Vielleicht hilft dir das weiter …