2016-06-05 3 views
0

Ich registrierte eine Liste von Hosts und ihre Dienste für Nagios. Nagios wird von den Hosts mit passiven Prüfungen benachrichtigt. Alles funktioniert gut, aber ein Problem, wenn die Kommunikation zwischen den Hosts und Nagios verloren geht, bleiben alle Dienste im selben Zustand (z. B. in Ordnung) und es gibt keine Anzeichen dafür, dass die Hosts aufhören, Nagios zu benachrichtigen.Erkennung von getrennten Host mit Nagios passive Prüfung

Irgendeine Idee?

Vielen Dank im Voraus ...

Antwort

1

Sie suchen nach "Frischeprüfung".

Eine Aktualitätsprüfung wird durchgeführt, wenn die letzte empfangene Prüfung "veraltet" geworden ist.

define service{ 
    use      generic-service 
    host_name    My_Server 
    service_description  CPU Load 
    active_checks_enabled 1 
    passive_checks_enabled 1 
    check_command   check_active 
    check_interval   99999999 
    check_period   24x7 
    check_freshness   1 
    freshness_threshold  600 
    } 

Es ist erwähnenswert, dass, wenn ein Dienst die Frische Schwelle überschreitet, eine aktive Prüfung gegen den Dienst durchgeführt wird, die innerhalb des check_command Parameter definiert Befehl.

Ich habe einen benutzerdefinierten Befehl erstellt, der Nagios sofort einen kritischen Alarm ausgibt, ohne irgendwelche Prüfungen durchzuführen. (Es muss nicht, da der Befehl nur ausgelöst wird, wenn die letzte Überprüfung "veraltet" geworden ist).

#!/usr/bin/perl 
print "CRITICAL: Server has not checked in"\n; exit(2); 

Das obige sollte unter Ihrem "libexec" Ordner als "check_active" gespeichert werden.

einen Befehl unter Ihrer commands.cfg Datei definieren, wie unten:

define command{ 
    command_name  check_active 
    command_line  $USER1$/check_active 
    } 

Solange Nagios die Autorität hat Ihren neuen Befehl ausgeführt werden soll, wird der Dienst kritisch werden, wenn das Frische-Schwellwert überschritten wird.