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
}