Hallo, zurzeit sendet Nagios Benachrichtigungen von nagios@server.domain.com. Wie konfiguriere ich das? Vielen Dank
Hallo, zurzeit sendet Nagios Benachrichtigungen von nagios@server.domain.com. Wie konfiguriere ich das? Vielen Dank
Antworten:
In einer Nagios-Standardinstallation ist dies auch in den Befehlen host-notify-by-mail
oder definiert service-notify-by-mail
, die Sie in finden commands.cfg
. Der Standard wäre so etwas wie:
/bin/echo -e "$NOTIFICATIONTYPE$ - Service notification for $SERVICEDESC$ from host $HOSTNAME$ - $HOSTALIAS$\n$SERVICEDESC$: $SERVICEOUTPUT$\n" | /bin/mail -s '$NOTIFICATIONTYPE$/$SERVICESTATE$ - $HOSTNAME$/$SERVICEDESC$' $CONTACTEMAIL$
Fügen Sie einfach eine -r sender@address
Option zum Befehl mail hinzu, und das sollte funktionieren.
/bin/mail
und dem-s
Die Lösung "-r nagios@domain.com" konnte nicht zum Laufen gebracht werden. Es stellt sich heraus, dass Optionen nach "-" Optionen für sendmail sind. Wenn Sie sich die sendmail-Optionen ansehen, sollte dies "-fnagios @ domain" sein. HINWEIS KEIN LEERZEICHEN zwischen -f und nagios@domain.com.
Also das folgende funktioniert jetzt: -
command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTNAME$\Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$LONGSERVICEOUTPUT$" | /bin/mail -s "$SERVICESTATE$ - Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ -- -fnagios@domain.com
Was für mich gearbeitet wurde die Zugabe -r $ADMINEMAIL$
vor der -s
(unmittelbar nach /bin/mail
), und natürlich $ADMINEMAIL$
muss in festgelegt werden nagios.cfg
mit der admin_email
Einstellung.
Ich konnte dies tun, indem ich den Befehl in etwas Lügenhaftes änderte:
command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTNAME$\Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$LONGSERVICEOUTPUT$" | /bin/mail -s "$SERVICESTATE$ - Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ -- -r $ADMINEMAIL$
Die Magie ist der '- -r'-Teil.
ADMINEMAIL ist in Ihrer Datei nagios.cfg festgelegt, kann jedoch eine beliebige E-Mail-Adresse für die Absenderadresse sein.
Keine der oben genannten Funktionen funktioniert mit aktuellen Versionen von Nagios und / oder Postfix. Das Flag, das zu den Nagios-Befehlen "host-notify-by-mail" oder "service-notify-by-mail" in der Datei "commands.cfg" hinzugefügt werden muss, lautet wie folgt:
-a "From: john.doe@uzh.ch"
Beachten Sie, dass die Anführungszeichen unbedingt erforderlich sind!
Dies ist in definiert etc/nagios3/conf.d/contacts_nagios2.cfg
Sie können Benutzer mit E-Mails und Gruppen definieren. Sie können auch verschiedene Gruppen für verschiedene Zwecke konfigurieren - z. B. web_admin für http-Warnungen, admin für Host-Warnungen usw.
Für die bsd-mailx
, auf die mein /usr/bin/mail
Befehl verweist, schien nichts zu funktionieren, daher habe ich /usr/sbin/sendmail
(von postfix bereitgestellt) Folgendes verwendet:
command_line /usr/bin/printf "%b" "Subject:** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **\n\n**** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/sbin/sendmail -r "nagios@example.com" $CONTACTEMAIL$
Für sendmail
zwei Dinge zu beachten:
-r
diese Option, um den Rückgabepfad (und die Absenderadresse) anzugeben.-s
für das Thema. Fügen Sie stattdessen den Subject:
E-Mail-Header in die printf
folgenden zwei Zeilen ein\n\n