Я новичок в 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 команда, но страница руководства должна дать вам подсказки. Возможно, сравните определение уведомления хоста с определением уведомления службы и поищите отличия.