Привіт, зараз Nagios надсилає сповіщення від nagios@server.domain.com. Як мені зайнятися налаштуванням цього? Спасибі
Привіт, зараз Nagios надсилає сповіщення від nagios@server.domain.com. Як мені зайнятися налаштуванням цього? Спасибі
Відповіді:
У встановленні Nagios за замовчуванням це також визначено в командах host-notify-by-mail
або service-notify-by-mail
, які ви знайдете commands.cfg
. За замовчуванням буде щось на зразок:
/bin/echo -e "$NOTIFICATIONTYPE$ - Service notification for $SERVICEDESC$ from host $HOSTNAME$ - $HOSTALIAS$\n$SERVICEDESC$: $SERVICEOUTPUT$\n" | /bin/mail -s '$NOTIFICATIONTYPE$/$SERVICESTATE$ - $HOSTNAME$/$SERVICEDESC$' $CONTACTEMAIL$
Тому просто додайте -r sender@address
параметр до поштової команди, і це повинно працювати.
/bin/mail
і-s
Не вдалося вирішити "- -r nagios@domain.com" роботу. Виявляється, опції після "-" - це варіанти для sendmail. Дивлячись на параметри sendmail, це повинен бути "-fnagios @ domain" ПРИМІТКА НЕ ПРОСТОРІ між -f та nagios@domain.com.
Отже, зараз працює наступне:
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
Те, що працювало для мене, - додавання -r $ADMINEMAIL$
до -s
(одразу після /bin/mail
), і, звичайно, $ADMINEMAIL$
має бути встановлено, nagios.cfg
використовуючи admin_email
налаштування.
Я зміг це зробити, змінивши команду на щось симпатичне:
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$
Магія - частина '- -r'.
ADMINEMAIL встановлено у вашому nagios.cfg, але може бути будь-якою електронною адресою для адреси "From".
Жоден з перерахованих вище не працює з поточними версіями Nagios та / або Postfix. Прапор, який потрібно додати до команд Nagios "хост-сповіщення по електронній пошті" або "служба-сповіщення поштою" у файлі "commandnds.cfg", звучить так:
-a "From: john.doe@uzh.ch"
Зверніть увагу, що лапки є важливими!
Це визначено в etc/nagios3/conf.d/contacts_nagios2.cfg
Ви можете визначити користувачів за допомогою електронної пошти та груп. Також ви можете налаштувати різні групи для різних цілей - наприклад, web_admin для http-сповіщень, адміністратор для сповіщень про хост тощо.
Для того, bsd-mailx
що моя /usr/bin/mail
команда посилається на, здавалося, нічого не працює, тому я використовував /usr/sbin/sendmail
(надається поштовим кодом) таким чином:
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$
Щоб sendmail
врахувати дві речі:
-r
для визначення шляху повернення (та з адреси)-s
предмета немає. Натомість додайте Subject:
заголовок пошти з printf
наступними двома новими рядками\n\n