Cześć, obecnie Nagios wysyła powiadomienia z nagios@server.domain.com, jak mogę to skonfigurować? Dzięki
Cześć, obecnie Nagios wysyła powiadomienia z nagios@server.domain.com, jak mogę to skonfigurować? Dzięki
Odpowiedzi:
W domyślnej instalacji Nagios jest ona również zdefiniowana w poleceniach host-notify-by-mail
lub service-notify-by-mail
, w których można znaleźć commands.cfg
. Domyślne byłoby coś takiego:
/bin/echo -e "$NOTIFICATIONTYPE$ - Service notification for $SERVICEDESC$ from host $HOSTNAME$ - $HOSTALIAS$\n$SERVICEDESC$: $SERVICEOUTPUT$\n" | /bin/mail -s '$NOTIFICATIONTYPE$/$SERVICESTATE$ - $HOSTNAME$/$SERVICEDESC$' $CONTACTEMAIL$
Więc po prostu dodaj -r sender@address
opcję do polecenia mail, a to powinno działać.
/bin/mail
a-s
Nie można uruchomić rozwiązania „- -r nagios@domain.com”. Okazuje się, że opcje po „-” to opcje sendmaila. Patrząc na opcje sendmaila, powinno to być „-fnagios @ domena” UWAGA BRAK MIEJSCA między -f a nagios@domain.com.
Więc teraz działa: -
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
To, co zadziałało dla mnie, to dodawanie -r $ADMINEMAIL$
przed -s
(natychmiast po /bin/mail
) i oczywiście $ADMINEMAIL$
trzeba to ustawić nagios.cfg
za pomocą tego admin_email
ustawienia.
Byłem w stanie to zrobić, zmieniając polecenie na coś takiego:
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$
Magia to część „- -r”.
ADMINEMAIL jest ustawiony w twoim nagios.cfg, ale może to być dowolny adres e-mail dla adresu „Od”.
Żadne z powyższych nie działa z aktualnymi wersjami Nagios i / lub Postfix. Flaga, którą należy dodać do poleceń Nagios „host-powiadomienie przez pocztę” lub „serwis-powiadomienie przez pocztę” w pliku „command.cfg” brzmi następująco:
-a "From: john.doe@uzh.ch"
Pamiętaj, że znaki cudzysłowu są niezbędne!
Jest to zdefiniowane w etc/nagios3/conf.d/contacts_nagios2.cfg
Możesz zdefiniować użytkowników za pomocą e-maili i grup. Możesz także skonfigurować różne grupy do różnych celów - np. Web_admin dla alertów http, admin dla alertów hosta itp.
Do tego bsd-mailx
, do którego prowadzi moje /usr/bin/mail
polecenie, nic nie działało, więc użyłem /usr/sbin/sendmail
(dostarczonego przez Postfiksa) w następujący sposób:
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$
Na sendmail
dwie rzeczy do rozważenia:
-r
do określania ścieżki zwrotnej (i adresu zwrotnego)-s
dla tematu. Zamiast tego dodaj Subject:
nagłówek wiadomości, printf
a następnie dwie nowe linie\n\n