nagios mutt+msmtp 收到不报警邮件

问题描述:

    1、/nagioshome/var/nagios.log文件中显示邮件已经发出

    2、root用户执行 echo "hello" |mutt -s "test"  test@163.com 可以正常发送

      su - nagios -c  'echo "hello" |mutt -s "test"  test@163.com' 同样可以正常发送

    3、nagios运行时发送的邮件收不到

解决思路:

    以上可以说明mutt+msmtp程序本身不存在问题,可能原因还是在nagios上,具体原因只能靠日志来分析,而nagios.log和系统

    日志里没有太多有用的信息,那么就自己想办法打印出相关的信息。

    msmtp命令参数中有一个“-d”的参数,可以详细输出发邮件整个过程的debug信息。

解决过程:

    修改/etc/Mutt配置文件

    

    同时修改nagios配置文件/nagioshome/etc/objects/commands.cfg,并重启nagios服务。

    

    此时打开nagios界面,发送一条自定义的信息,然后打开/tmp/nagios.log查看相关信息。以下是我遇到的错误

    

    到这里问题基本明了了。就是对文件没有写的权限,最简单的方法当然是改权限,但,这是root的目录,为了安全不建议把root的默认权限550改成其它,                       所以,要从sent的来源着手。

    修改/etc/Mutt配置文件,并手动在/var/log/下创建sent.log文件,赋予它777的权限或把有者改为nagios用户。

    

    至此问题已经解决。

    最后还原所有为测试修改的地方,完成邮件发送。

 

 

    

    

 

posted @ 2014-12-11 22:00  [言_午]  阅读(492)  评论(0编辑  收藏  举报