刚开始配置zabbix的时候配置好zabbix web界面的发送邮件,然而实际收不到邮件.
后来发现是因为没有给+x的权限.
但是这次不一样,看见已经给了执行脚本的权限.而且登录上服务器可以执行脚本成功.
而且web界面也显示已发送,并没有报错.如下图:
折腾了一段时间一直没发现问题所在,只好从头开始分析检查了.
这里显示已经发送,说明web配置应该没什么问题.
先改下发送邮件的脚本了,添加一个debug的功能,如果有执行,就获取当前的用户名,shell,时间,并打印到日志.
停掉一台服务器的agentd,提示problem,显示发送邮件但是并没有收到报警邮件.看看debug日志,没有生产debug日志,说明没有执行脚本.
仔细看脚本权限
-rwxr-xr-x 1 zabbix zabbix 1717 Oct 1 10:04 zabbix_mail.py
并没有什么问题.
只好su zabbix 执行看看,发现不让登录. 没办法/etc/passwd 里将/sbin/nologin 改为/bin/bash
发现虽然手动执行也是成功的了,但还是没有发送邮件.
万般无奈从头检查,突然想起会不会是没有bash权限呢.因为这些脚本都不是 python zabbix_mail.py 这样执行,或者sh mail.sh 而是直接使用bash的.
检查一看,/bin/bash 没有o+x权限 给个权限试试看.
启动agentd看看,果然...可以发送恢复的邮件了.问题解决.
想了想之前能发送邮件的时候/etc/passwd也是不让zabbix登录
出于安全考虑把/etc/passwd里的/bin/bash 改回/sbin/nologin 之后测试也是可以发送的.
本文出自 “孜孜不倦的学习着...” 博客,请务必保留此出处http://jonyisme.blog.51cto.com/3690784/1710409
原文:http://jonyisme.blog.51cto.com/3690784/1710409