2016-08-09 91 views
0

Ich mache unsere Nagios-Infrastruktur mit Puppet neu, aber ich bin derzeit auf ein scheinbar einfaches Problem gestoppt (am wahrscheinlichsten ein Config-Problem).Nagios Host-Benachrichtigungen nicht per E-Mail oder Logging senden

Mit Puppet spucke ich einige grundlegende Nagios-Konfigurationsdateien auf der Festplatte aus. Nagios lädt neu und alles sieht in der Benutzeroberfläche gut aus, aber wenn ich einen Host abstempele, sendet er keine Benachrichtigung.

nagios.log zeigt:

[1470699491] EXTERNAL COMMAND: PROCESS_HOST_CHECK_RESULT; divcont01; 1; Testbenachrichtigung

[1470699491] PASSIVE HOST CHECK: divcont01; 1; Testbenachrichtigung

[1470699491] HOSTALARM: divcont01; DOWN; HARD; 1; Testbenachrichtigung

In produ ction (wo ich nichts geändert haben), ich sehe in nagios.log (nach einem Host unten in ui Markierung):

[1470678186] externer Befehl: PROCESS_HOST_CHECK_RESULT; PALTL12; 1; Test ey

[1470678187] PASSIVE HOST CHECK: PALTL12; 1; Test ey

[1470678187] HOST ALERT: PALTL12; AB; HARD; 1; Test ey

[1470678187] HOST NOTIFICATION: pal_infra; PALTL12; AB; host-notify-by-pom; Test ey

[1470678187] HOST ANMELDUNG: pal_infra; PALTL12; AB; host-notify-by-email; Test ey

[1470678192] HOST ALERT: PALTL12; UP; HARD; 1; PING OK - Paketverlust = 0%, RTA = 0,81 ms

[1470678192] HOST ANMELDUNG: pal_infra; PALTL12; UP; host-notify-by-pom; PING OK - Paketverlust = 0%, RTA = 0,81 ms

[1470678192] HOST BENACHRICHTIGUNG: PAL_INFRA; PALTL12; UP; Host-Benachrichtigung per E-Mail; PING OK - Paketverlust = 0%, RTA = 0,81 ms

Wie in den Protokollen zu sehen ist, gibt es eine Host-Benachrichtigung angemeldet und direkt nach dem HOST ALERT in prod gesendet. Ich habe die Konfigurationsdateien heute erschöpfend verglichen und kann keinen Grund finden, warum die neue Konfiguration kurz vor der Benachrichtigung endet.

Ich habe überprüft, dass Benachrichtigungen auf der obersten Ebene aktiviert sind. Ich habe überprüft, dass E-Mails von dieser Box gesendet werden können (obwohl ich die Logs verwende, um die Funktionalität zu überprüfen, nicht per E-Mail). Ich habe auch mehrere andere Google-Vorschläge ausprobiert (und werde meine Suche auch fortsetzen).

Relevante Konfigurationsdetails unten. Bitte verzeihen Sie die Ausführlichkeit meiner Konfiguration und die glanzlose Formatierung des Stack-Overflows. Vielen Dank im Voraus.

Hosts/divcont01.CFG:

Host definieren {

address    snip 
    host_name divcont01      
    use   generic-host-puppetized 

}

host-templates/generic-host-puppetized.cfg:

definieren host {

check_command     check-host-alive 
    check_interval     1 
    contact_groups     generic-contactgroup 
    checks_enabled     1 
    event_handler_enabled   0 
    flap_detection_enabled   0 
    name       generic-host-puppetized 
    hostgroups      +generic-host-puppetized 
    max_check_attempts    4 
    notification_interval   4 
    notification_options   d,u,r 
    notification_period   24x7 
    notifications_enabled   1 
    process_perf_data    0 
    register      0 
    retain_nonstatus_information 1 
    retain_status_information  1 

}

Hostgruppen/generic-host-puppetized.cfg:

definieren Hostgruppe {

hostgroup_name     generic-host-puppetized 

}

Kontaktgruppen/generic-contactgroup.cfg

definieren Kontaktgruppe {

contactgroup_name    generic-contactgroup 
    members      generic-puppetized-contact 

}

Kontakte/generic-puppetized-contact.cfg

definieren Kontakt {

use       generic-contact 
    contact_name     generic-puppetized-contact 
    email       <my email> 

}

Objekte/templates.cfg (generic-Kontakt Config nur)

Kontakt definieren {

use        my email 
    name       generic-contact   ; The name of this contact template 
    service_notification_period  24x7     ; service notifications can be sent anytime 
    host_notification_period  24x7     ; host notifications can be sent anytime 
    host_notification_commands  generic-puppetized-contact-host-notify-by-email-low 
    service_notification_commands notify-by-email,service-notify-by-pom 
    service_notification_options u,c,r,f   ; send notifications for all service states, flapping events, and scheduled downtime events 
    host_notification_options  d,r,f   ; send notifications for all host states, flapping events, and scheduled downtime events 

    register      0      ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE! 

}

Befehle/generic-puppetized-Kontakt-Host- notify-per-email-low.cfg:

Befehl definieren {

command_line     /etc/nagios/global/scripts/nagios-mailx.sh -t my email -s "** notification Host Alert: hostname is hoststate **" -m "***** Nagios ***** Notification Type: notification type Host: host State: hoststate Address: address Info: output Date/Time: date" 
    command_name     generic-puppetized-contact-host-notify-by-email-low 

}

Antwort

0

figured it out ... ich mein System in einem anderen bereits bestehenden System aufbaute (gefährlich, ich weiß) und meine Kontakte wurden tatsächlich einen Hinweis generic-contact, bei dem die Benachrichtigungen deaktiviert waren.

Whoops :)