In der Datei “/etc/nagios/services.cfg” können Sie die Dienste für die Hosts bestimmen. Deren Definition ist ähnlich wie die der Hosts.Auch bei den Services werden zunächst bestimmte Variablenwerte einer generischen Service-Definition genutzt. Dann folgt der Name des Hosts, auf dem der Dienst ausgeführt werden soll.Weiterhin gibt es auch hier Prüfintervalle, -versuche und -zeiten, Benachrichtigungsoptionen, -intervalle und -zeiten sowie die Menschen, denen Nagios Fehlfunktionen mitteilen soll:
define service{
use generic-service; Name of service template to use
host_name hogsmeade service_description SMTP is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 3 retry_check_interval 1 contact_groups server-admins notification_interval 120 notification_period 24x7 notification_options w,u,c,r check_command check_smtp }
Nicht alle Variablen sind in einer Servicedefinition erforderlich.Auf “is_volatile”kann zum Beispiel verzichtet werden. Die meisten Nutzer werden kaum volatile Dienste nutzen und die Variable auf “0” lassen. In einigen Fällen sind diese Dienste sinnvoll, etwa um Parameter zu überwachen, die sich automatisch nach einer Prüfung in einen “OK”-Status zurücksetzen. Dazu gehören Ereignisse wie Sicherheitsalarme und SNMP-Traps.Werden volatile Dienste überprüft, die sich seit dem letzten Check in einem “Nicht-OK”-Status befinden und gibt die erneute Überprüfung einen “Nicht-OK”-Status zurück, wird der “Nicht-OK”-Status protokolliert. Nagios informiert die definierten Kontakte über das Problem und führt – falls eingerichtet – die Event-Handler für diesen Dienst aus.
Das “check_command” ist der wichtigste Punkt in der Definition. Hier wird der Prüfbefehl festgelegt. Es gibt drei Formatmöglichkeiten, den Befehl zu schreiben. Beim “Vanilla”-Format schreiben Sie nurden Befehlsnamen, wie er in der Datei “/etc/nagios/checkcommands.cfg” definiert ist. Ein Befehl mit Argumenten ähnelt dem “Vanilla-Format”.Allerdings sind Argumente zugelassen, die dann mit Ausrufezeichen voneinander getrennt werden, wie “check-disk!/dev/sda1”. Ein normaler Kommandozeilenbefehl enthält die Anweisung zwischen Anführungszeichen, die bei der Ausführung des Befehls entfernt werden. Das könnte folgendermaßen aussehen:
”/usr/lib/nagios/plugins/ check_nwstat -H $HOSTADDRESS$ -v “LOAD15” -w 70 -c 90”
Überwachungsbefehle ändern
Die Datei “/etc/nagios/checkcommands. cfg” mit den Befehlsnamen für das “Vanilla”-Format wird bei der Installation automatisch erzeugt und sollte nicht von Hand geändert werden. Sie wird aus den Konfigurationsdateien im Verzeichnis “/etc/nagios-plugins/config/” zusammengesetzt. In diesem Verzeichnis dürfen Sie weitere Befehle hinzufügen oder neue Dateien erzeugen. Die Befehlsdefinition in den Dateien in “/etc/nagios-plugins/ config/” sieht so aus:
# ‘check_smtp’ command definition
define command{
command_name check_smtp
command_line /usr/lib/nagios/
plugins/check_smtp -H $HOSTADDRESS$
}
Wenn Sie in einer Servicedefinition das Kommando “check_smtp” schreiben,wird es durch die vollständige Kommandozeile
”/usr/lib/nagios/plugins/ check_smtp -H $HOSTADDRESS$”
ersetzt. Das Kommando “check_smtp” steht ursprünglich in der Konfigurationsdatei “/etc/nagios-plugins/config/ mail.cfg”. Sie können das Kommando dort ändern oder einen weiteren Befehl hinzufügen. Dazu müssen Sie allerdings die Parameter des Plug-Ins kennen. Diese erfahren Sie, indem Sie das Plug-In im Verzeichnis “/usr/lib/nagios/plugins” mit dem Parameter “--help” starten. Mit diesem Wissen ist es leicht, ein neues Kommando in der Datei “/etc/nagios-plugins/ config/mail.cfg” einzufügen:
# ‘check_smtp_with_wc-option’
# command definition
define command{
command_name check_smtp_with_wc-option
command_line /usr/lib/
nagios/plugins/check_smtp -H
$HOSTADDRESS$ -w 2 -c 5
}
Wenn Sie in einer der Plug-In-Konfigurationsdateien etwas ändern,weiß Nagios das allerdings noch nicht. Dazu müssen Sie noch die Datei “/etc/nagios/checkcommands. cfg” neu generieren. Das geschieht mit dem Befehl
update-nagios
der in einem Aufwasch auch gleich die Konfigurationsdateien prüft. Falls keine Fehler aufgetreten sind, können Sie anschließend das neue Kommando als Service- Kommando nutzen.
| Aufbau der Hostdatei |
| define contact{ contact_name nagios alias Nagios Admin service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r,n host_notification_options d,u,r,n service_notification_commands notify-by-email,notify-by-epager host_notification_commands host-notify-by-email, host-notify-by-epager email nagios-admin@office.com pager pagenagios-admin@unterwegs.net } |
![]()
![]()




