环境:CentOS 7 + Zabbix 3.4
如果只是监测并不能满足需求,还需要通过邮件的方式对问题进行报警。接下来进行实战操作:
一、安装邮件发送工具 mailx
由于本次 CentOS 7 采用的是basic LSB 安装,所以直接安装发送邮件的工具
yum -y install mailx
yum -y install sendmail
二、配置zabbix服务端发送邮件
vi /etc/mail.rc #编辑文件,如果没有,就手动创建,如下:
set sendcharsets=iso-8859-1,utf-8
set from=xxx@XXX.com
set smtp=smtp.XXX.com:25
set smtp-auth-user=xxx@XXX.com #认证用户
set smtp-auth-password=xxx #认证密码
三、测试邮件是否能够发送
echo"zabbix test " |mail -s "zabbix" xxx@xxx.com #如果邮箱中能收到邮件,表示测试成功。
四、配置Zabbix Web端
1)配置SMTP server的 Media信息
其中有个默认的Email项,无需新建Media type,更改这个项目即可,如下图:
2)配置用户的收件邮箱
此次配置“Admin”的邮箱,如果新建了其他用户,点击"Create user"配置即可。
点击“Media”->点击"Add"
在"Send to" 中,填入有效的IP地址后,点击"Add"添加。
3)配置触发条件发邮件
点击"Configuration"->“Actions”->更改默认的“Report problems to Zabbix administrators”
添加想要监控的内容:点击“Action”->在“New Condition”中输入内容后,本次添加: Host = XXXX点击"Add"按钮。Condition的条件有很多,可以是主机名,可以是服务,可以是进程等,取决于你要监控哪些内容。
接下来点击"Operations" 选项卡,添加动作。
在Send to User groups 或 Send to Users 点击"Add"
在弹出的对话框中,勾选一个要添加的用户,然后点击"Select"按钮
注意下面的界面中,要选择“Send message” 以便发送邮件。如果有其他脚本需要执行,可选择"Remote Command"。最后选择“Update”按钮。其他选项都是默认即可。
至此,如果触发了报警,一封邮件就能发送到管理员用户配置的邮箱里了。
4)排错
查看zabbix的日志:
tail -f /var/log/zabbix/zabbix_server.log
查linux邮件日志看邮件是否发出:
tail -f /var/log/maillog
执行这两个日志检查,通过能找到问题。如果仍有问题,检查SMTP邮件服务器的设置、用户及密码、是否被防火墙判定垃圾邮件等。