Nagios 正在手动发送邮件,但未收到警报

Nagios 正在手动发送邮件,但未收到警报

警报邮件是从 gmail id 配置的,以避免垃圾邮件追赶。尝试手动使用“邮件”命令时,Nagios 警报邮件工作正常。这显然意味着,nagios 现在能够向公司邮箱以及外部域发送邮件。但它根本没有发送任何邮件。同时,我可以看到它在检测到任何警报时也试图启动邮件警报...!

从 'nagios.log' 中可以清楚看出

[1441281845] 服务通知:nagiosadmin;bbnlbwmon;HTTPS 响应时间;严重;通过电子邮件通知服务;连接被拒绝[1441281850] 服务通知:nagiosadmin;arkr-dc-sw1;端口 6 连接到跨媒体,访问 vlan 103;严重;通过电子邮件通知服务;SNMP 严重 -向下(2)

但是,邮件日志仍然会抛出一个错误,导致 Nagios 无法发送警报邮件。错误内容为“procmail -a "$EXTENSION"”

请检查“mail.log”

9 月 3 日 15:46:01 nagios postfix/local[2835]: 66D69360533:to=,relay=local,delay=71029,delays=71029/0/0/0.04,dsn=2.0.0,status=sent (已传送至命令:procmail -a $EXTENSION”)

9 月 3 日 15:46:03 nagios postfix/local[2759]: 6924A360548:to=,relay=local,delay=77269,delays=77261/0/0/8.1,dsn=2.0.0,status=sent(已传送至命令:procmail -a“$EXTENSION”)

什么可能是“状态=已发送(传送至命令:procmail -a“$EXTENSION”)”错误..?

另一件不寻常的事情是,手动发送电子邮件时,它不会写入 /var/log/mail.log 中。

请更新。

答案1

postfix在本地将邮件发送至procmail。这是postfix状态status=sent,但您的procmail配置不正确或存在一些错误,无法发送邮件。

做:

sudo dpkg-reconfigure postfix

1) 选择“带有智能主机的互联网”(推荐)以使用另一个邮件服务器来中继邮件或“互联网站点”

2)输入系统邮件名称(node1.foo.tld)

3)输入 SMTP 中继主机(mail.foo.tld)

4) 根和邮件管理员邮件收件人([电子邮件保护]

5)其他接受邮件的目的地(node1.foo.tld、localhost.foo.tld、localhost)

6)强制同步更新邮件队列(否)

7)本地网络(127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128)

8)使用 procmail 进行本地传送(是)

9) 邮箱大小限制(字节) (0)

10)本地地址扩展字符(+)

11)使用的互联网协议(IPv4 是安全的选择)

通过这种方式进行配置很简单,并且足以从 nagios 向任何地方发送通知。

编辑2

sendmail配置为智能主机

SMART_HOST允许您指定应中继所有您无法直接传递的外发邮件的主机,以及用于与其通信的邮件传输协议。

打开你的配置文件:

 sudo nano /etc/mail/sendmail.mc

附加或修改宏,内容如下:

 define(`SMART_HOST',`smtp.blabla.com')

替换smtp.blabla.com为您的实际 smtp 服务器地址。

如果行包含单词,dnl 删除该 dnl 单词。

使用命令重新生成新的sendmail.cf配置文件m4

 sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

重新启动sendmail服务

相关内容