启用详细调试后,我可以看到Nagios正在正常发送通知..这是我在nagios.logs中看到的
[1430915423] SERVICE ALERT: test;Check node port;CRITICAL;HARD;4;Connection refused
[1430915423] SERVICE NOTIFICATION: abhishek;test;Check node port;CRITICAL;notify-service-by-email;Connection refused
[1430915423] SERVICE NOTIFICATION: root;test;Check node port;CRITICAL;notify-service-by-email;Connection refused
但是,我没有收到指定联系人的电子邮件..我正在使用SSMTP .. 它工作正常..这个命令有效 -
ssmtp abc@xxx.com
因此,有两件事情可能发生 -
notify-service-by-email
无效或某些安全检查过滤掉此类电子邮件(这不应该发生,因为我从我的电子邮件地址发送电子邮件)..任何人都可以建议如何调试这个...?
编辑 - 这是我的通过电子邮件发送服务命令 -
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$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
答案 0 :(得分:0)
终于找到了问题..
sSMTP工作正常..使用此命令进行测试 -
ssmtp -s abcd@xxx.com
启用DEBUG
日志以查明/etc/ssmtp/ssmtp.conf
没有足够的权限..
该文件归root
所有,而非nagios
用户
希望这有助于某人..