Назад | Перейти на главную страницу

Nagios отправляет почту, когда сервер не работает

Я использую nagios 3.06 для мониторинга серверов. Когда служба критически важна, она отправляет почту, но когда сервер не работает, почта не отправляется. Даже если все службы переходят в критическое состояние, почта не отправляется.

У меня такая конфигурация:

define command {
    command_name notify-host-by-email
    command_line python /etc/nagios3/send_mail.py "[Nagios] $HOSTNAME$" "******** Nagios ****\n\n Host: $HOSTNAME$\n Description: the server is down"
}

define command{
    command_name notify-service-by-email
    command_line python /etc/nagios3/send_mail.py "[Nagios] $HOSTNAME$: $SERVICEDESC$ ($NOTIFICATIONTYPE$)" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\nDate/Time: $LONGDATETIME$\nAdditional Info:$SERVICEOUTPUT$"
}

Скрипт python - это скрипт для отправки почты. Он работает, если я выполняю его из командной строки, но он не отправляет электронное письмо от nagios.

Что я делаю не так?

ОБНОВИТЬ: Контактные данные:

define contact{
    contact_name                    root
    alias                           Root
    service_notification_period     24x7
    host_notification_period        24x7
    service_notification_options    w,u,c,r
    host_notification_options       d,r
    service_notification_commands   notify-service-by-email
    host_notification_commands      notify-host-by-email
    email                           myemail@gmail.com
}

define contactgroup{
    contactgroup_name       admins
    alias                   Nagios Administrators
    members                 root
}

Сначала проверьте и убедитесь, что nagios действительно запускает ваш скрипт, посмотрев на nagios.log. Если он предпринимает соответствующие действия, вы можете попробовать записать в журнал вывод своего почтового скрипта, добавив 2> & 1 >> /tmp/mynagiosemail.log, чтобы увидеть, не вызывает ли он ошибку, связанную с Python или ОС.

Я заметил, что ваш сценарий находится в / etc / nagios3, это ненормальное место для размещения чего-то, что будет выполнять nagios, вы можете переместить его в / usr / lib / nagios / plugins / или / usr / lib / nagios3 просто чтобы быть последовательным, а затем убедиться, что пользователь nagios может его прочитать и выполнить. Не похоже, что на это есть какие-то ограничения, но это не повредит.

Какие твои service_notification_options и host_notification_options установить для вашего contact или contactgroup (если он там есть)? Поскольку вы получаете электронное письмо с предупреждением, похоже, что у вас нет c набор для service_notification_options и нет d набор для host_notification_options

в вашем контакте {} есть ли у вас следующее?

host_notification_commands      host-notify-by-email