...
Code Block |
---|
title | /usr/local/nagios/etc/objects/bpi.cfg |
---|
|
define host{
use linux-server ; Es wird das Template "linux-Server" verwendet, hierdurch werden einige vordefinierte Werte verwendet.
host_name bpi
alias bpi
address 192.168.101.28
}
define service{
use local-service ; Name of service template to use
host_name bpi
service_description PING
; Warnstufe wenn 20% der Pakete verloren gehen oder die mittlere Antwortzeit über 100ms beträgt.
; Kritische Alarmstufe wenn 60% der Pakete verloren gehen oder die mittlere Antwortzeit über 500ms beträgt.
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use local-service ; Name of service template to use
host_name bpi
service_description SSH
check_command check_ssh
notifications_enabled 0
}
|
Monitoring Remoteserver
Überwachung von Ports auf entfernten Servern
Es gehört zu den grundlegenden Aufgaben des Servermonitorings zu prüfen, ob bestimmte Netzwerkports erreichbar sind und ob sie einen bestimmten Service anbieten.
...
Code Block |
---|
title | /usr/local/nagios/etc/objects/bpi.cfg |
---|
|
define service{
use local-service ; Name of service template to use
host_name bpi
service_description IMAP-SSL
check_command check_imap!-p 993 -S -D 60,20
notifications_enabled 0
}
define service{
use local-service ; Name of service template to use
host_name bpi
service_description Apache-SSL
; Erster Parameter ist der zu überwachende Port
; Zweiter Parameter -S für die Anwendung der SSL-Verschlüsselung,
; -D für die Prüfung der Gültigkeit des Zertifikats (Warnung 60 Tage vor Ablauf, 20 Tage für kritischen Alarm)
check_command check_tcp!443!-S -D 60,20
notifications_enabled 0
} |
Prüfung von Prozessen auf entfernten Servern
Ebenfalls eine wichtige Funktion ist die Prüfung ob auf einem entfernten Server ein bestimmter Prozess läuft bzw. ein bestimmter Service gestartet ist.
...
Code Block |
---|
title | /usr/local/nagios/etc/objects/bpi.cfg |
---|
|
define service{
use local-service ; Name of service template to use
host_name bpi
service_description Confluence-Service
check_command check_by_ssh!22!Zielaccount!/etc/init.d/wiki status
notifications_enabled 0
} |
Filesystembenutzung auf entfernten Servern
Das Thema ist im Internet immer wieder Anlass für größere Diskussionen.
Wenn man aber bereits die vorstehende Lösung realisiert hat und kann Kommandos auf dem fernen Server ausführen - dann ist die Sache nicht mehr so schwierig
Auf dem Zielserver das folgende Script speichern und Ausführungsrechte für den User vergeben der für die Ausführung vorgesehen ist (siehe vorherigen Abschnitt)
Note |
---|
Das nachstehende Script funktioniert nur, wenn das gewünschte Filesystem gemountet ist. Es kann also nicht auf einzelne Verzeichnisse innerhalb eines gemounteten Filesystems angewendet werden. |
Code Block |
---|
title | /path/to/sript/check_diskfree.sh |
---|
|
#!/bin/bash
USED=`df|awk ' $6=="'$1'" { print $5 } '|sed -e 's/%//'`
[ -z "$USED" ] && echo "Das angegebene Verzeichnis ist nicht gemountet" && exit 0
[ "$USED" -ge $2 ] && [ "$USED" -lt $3 ] && echo "WARNUNG: Filesystem $USED: Es sind $USED % belegt" && exit 1
[ "$USED" -ge $3 ] && echo "KRITISCH: Filesystem $USED: Es sind $USED % belegt" && exit 2
echo "OK Filesystem $USED % belegt"
exit 0 |
Und den passenden Service dazu:
Code Block |
---|
define service{
use local-service ; Name of service template to use
host_name bpi
service_description Filesystem_root
check_command check_by_ssh!22!Zielaccount!/path/to/script/check_diskfree.sh / 70 89
notifications_enabled 0
}
define service{
use local-service ; Name of service template to use
host_name bpi
service_description Filesystem_var
check_command check_by_ssh!22!Zielaccount!/path/to/script/check_diskfree.sh /var 80 90
notifications_enabled 0
} |