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

Пытаюсь отправить электронное письмо с Nagios

Я новичок в Nagios. Я пытаюсь отправлять оповещения по электронной почте. Но, похоже, это не работает.

Но в моем журнале nagios я вижу следующее:

SERVICE ALERT: Appserver;Tmp directory;CRITICAL;HARD;1;

Если уведомления хоста генерируются по электронной почте, не работают только служебные уведомления. И когда я смотрю на sendEmail log я вижу это:

Sep 14 12:38:39 x.x.x.x. sendEmail[23005]: ERROR => You must specify a 'from' field!  Try --help.
Sep 14 12:39:39 x.x.x.x.x. sendEmail[23129]: ERROR => You must specify a 'from' field!  Try --help.
Sep 14 12:40:39 x-x-x-x-x sendEmail[23233]: ERROR => You must specify a 'from' field!  Try --help.

Где я делаю ошибку?

Заранее спасибо.

Вы не указали, какой дистрибутив вы использовали в своем экземпляре EC2, но определение команды notify-host-by-email в моем поле Ubuntu Lucid выглядит так:

define command{
    command_name    notify-host-by-email
    command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "$HOSTSTATE$ - $HOSTNAME$ ping"  -r "Nagios Alert <systems@example.com>" $CONTACTEMAIL$
    }

а уведомление по электронной почте выглядит так:

define command{
    command_name    notify-service-by-email
    command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mail -s "$SERVICESTATE$ $HOSTALIAS$/$SERVICEDESC$"  -r "Nagios Alert <systems@example.com>" $CONTACTEMAIL$
    }

Итак, что в основном делает Nagios, так это направляет форматированное тело сообщения в /usr/bin/mail , которая имеет набор параметров командной строки для указания темы, ответа и т. д. В частности, я явно устанавливаю From: с параметром «-r», потому что я хочу, чтобы такие уведомления приходили от нашего общего список рассылки "системы".

Возможно, вы настроили свою собственную команду уведомления по электронной почте. Взгляните на страницу руководства для вашей системы mail , чтобы узнать, какие параметры можно использовать для указания обычных заголовков сообщений.

Вам нужно найти определение команды, которая используется для отправки уведомлений. В моем случае все мои команды уведомлений находятся в nagios / etc / misccommands.cfg. Где-то в этом определении есть команда, запускаемая для отправки уведомлений по электронной почте. Вы должны это исправить. Я парень Solaris и не знаком с sendEmail команда, но страница руководства должна дать вам подсказки. Возможно, сравните определение уведомления хоста с определением уведомления службы и поищите отличия.