Definieren der E-Mail-Adresse, von der Nagios E-Mails sendet

16

Hallo, zurzeit sendet Nagios Benachrichtigungen von [email protected]. Wie konfiguriere ich das? Vielen Dank


quelle

Antworten:

14

In einer Nagios-Standardinstallation ist dies auch in den Befehlen host-notify-by-mailoder 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@addressOption zum Befehl mail hinzu, und das sollte funktionieren.

RainyRat
quelle
Das habe ich getan und es hat gut funktioniert. Aufgrund unseres automatisierten Ticketing-Programms werden verschiedene Benachrichtigungen von verschiedenen Konten gesendet.
Breadly
1
Ich habe dies zwischen /bin/mailund dem-s
jgritty
@RainyRat - Gibt es eine Möglichkeit, Ihre Antwort zu bearbeiten, um -r als ersten Parameter zu setzen? - Wie andere Antworten vorschlagen, dann freuen wir uns, Ihre Antwort zu stimmen: o)
Dazed
3

Die Lösung "-r [email protected]" 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 [email protected].

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$ -- [email protected]
Nagios_Noob
quelle
3

Stellen Sie -r nagios @ domain vor $ CONTACTEMAIL $ in commands.cfg

Astroneo
quelle
2

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.cfgmit der admin_emailEinstellung.

Albert Braden
quelle
1

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.

jizaymes
quelle
1

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: [email protected]"

Beachten Sie, dass die Anführungszeichen unbedingt erforderlich sind!

aag
quelle
Dadurch wird die Absenderadresse geändert, die Rücksprungadresse jedoch nicht. Möglicherweise möchten Sie beide ändern.
Christopher K.
0

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.

HogFather
quelle
In der Kontaktkonfiguration konfigurieren Sie die Empfänger der gesendeten E-Mails, nicht die Absenderadresse . Diese Frage ist , wie die Absenderadresse zu ändern ( „wo es sendet Mails aus “).
Christopher K.
0

Für die bsd-mailx, auf die mein /usr/bin/mailBefehl 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 "[email protected]" $CONTACTEMAIL$

Für sendmailzwei Dinge zu beachten:

  • Verwenden Sie -rdiese Option, um den Rückgabepfad (und die Absenderadresse) anzugeben.
  • Es gibt keine -sfür das Thema. Fügen Sie stattdessen den Subject:E-Mail-Header in die printffolgenden zwei Zeilen ein\n\n
Christopher K.
quelle