SECTOR NORD AG Tipp des Monats
[SNAG-View] Nagios-Community Plugins installieren
von Andreas Gerliz
Neben den Standard-Nagios-Plugins, die bei jeder SNAG-View oder Nagios-Installation mitinstalliert werden, bietet die Nagios-Community viele weitere Plugins für viele Anwendungszwecke an:
https://exchange.nagios.org/directory/Plugins
Hier können verschiedenste spezielle Plugins für z.B. Fortigate-Firewall-Checks oder auch Mail-Queuestatus-Checks gefunden werden.
Grundsätzlich sind diese Plugins Nagios-konform und damit SNAG-View-kompatibel.
Sollten Abhängigkeiten für bestimmte Plugins fehlen, diese bitte nicht installieren!
In diesem Fall kontaktieren Sie uns, damit wir prüfen können, ob die notwendigen Pakete nachinstalliert werden können.
In einem Beispiel werden wir nun das Nagios-Community-Plugin "check_file_content" auf dem SNAG-View-Server installieren und später einen entsprechenden Service dafür einrichten.
Das Plugin prüft eine Datei, ob sie ein bestimmtes Pattern enthält bzw. nicht enthält.
https://exchange.nagios.org/directory/Plugins/Log-Files/Check-File-Content/details
-
Nagios-Community-Plugin herunterladen und im Plugin-Verzeichnis des SNAG-View hinterlegen:
~
# cd /tmp/
/tmp/
# unzip master.zip
/tmp/
# cd ./nagios-check_file_content-master/
/tmp/nagios-check_file_content-master/
# ll
-rwxr-xr-x 1 root root 2653 Dec 18 11:51 check_file_content.pl
-rw-r--r-- 1 root root 18025 May 27 2016 LICENSE
-rw-r--r-- 1 root root 466 May 27 2016 README.md
/tmp/nagios-check_file_content-master/
# cp check_file_content.pl /var/lib/nagios/libexec-customer/
-
Berechtigung erteilen, damit Nagios das Plugin ausführen darf:
/tmp/nagios-check_file_content-master/
# cd /var/lib/nagios/libexec-customer/
/var/lib/nagios/libexec-customer/
# chmod --reference=/var/lib/nagios/libexec/check_nrpe ./check_file_content.pl
/var/lib/nagios/libexec-customer/
# chown --reference=/var/lib/nagios/libexec/check_nrpe ./check_file_content.pl
Damit bekommt das Plugin die gleichen Berechtigungen und Eigentümer wie das Nagios-Standard-Plugin "check_nrpe".
-
Auf den Nagios-User wechseln und testen, ob das Plugin aufgerufen werden kann:
/var/lib/nagios/libexec-customer/
# su - nagios
-
bash
-4.2$
cd
libexec-customer/
-
bash
-4.2$ .
/check_file_content
.pl
Usage : check_file_content.pl -f
file
-i include -e exclude -n lines_number [-h]
Options :
-f
Full path to
file
to analyze
-n
Number of lines to
find
(default is 1)
-i
Include pattern (can add multiple include)
-e
Exclude pattern (can add multiple include)
-h, --help
Print this help
screen
Example : check_file_content.pl -f
/etc/passwd
-i 0 -e root -n 5
-
Einen Test gegen das Logfile /var/log/snagview/application.log laufen lassen, dass das Pattern 'listening' mindestens einmal enthalten soll:
-
bash
-4.2$ .
/check_file_content
.pl -f
/var/log/snagview/application
.log -i listening -n 1
OK
for
/var/log/snagview/application
.log (2 found)
Das Plugin liefert ein korrektes Ergebnis zurück und funktioniert somit. Nun kann es im SNAG-View-Frontend als Service angelegt werden.
- Im Frontend F4 drücken, um den Objektadmin zu öffnen.
- Objekttype "Checkcommand" auswählen.
- Grünen Plus-Button zum Erstellen eines neuen Checkcommands anklicken
- Konfiguration wie folgt ausfüllen:
→ Bezeichnung frei wählbar
→ Befehlszeile startet mit $USER2$, da dies das Makro für /var/lib/nagios/libexec-customer ist
→ Parameter als Argumente mitgegeben, damit diese später dynamisch setzbar sind
→ Parameter der Reihenfolge nach benamen
Nun kann ein Service für z.B. den SNAG-View-Host erstellt werden.
Dazu den Host SNAG-View editieren und im Reiter Services "Neuen Service erstellen" klicken und entsprechend ausfüllen:
→ Bezeichnung frei wählbar
→ Standard-Service-Template nutzen (Basistemplate)
→ Checkcommand auswählen
→ Parameter entsprechend eintragen
Wenn die neuen Konfigurationen abgespeichert wurden, muss der Export ausgeführt werden.
Danach sollte der Service beim Host SNAG-View erscheinen und einmal manuell ausgeführt werden.
Das Ergebnis sieht in meinem Fall dann wie folgt aus: