1、Zabbix监控端配置
[root@localhost ~]# yum -y install mailx
//安装mailx
[root@localhost ~]# vim /etc/mail.rc
//末尾添加
set from=QQ邮箱
set smtp=smtp.qq.com
set smtp-auth-user= QQ邮箱
set smtp-auth-password=邮箱smtp授权码
set smtp-auth=login
设置QQ授权码:https://jingyan.baidu.com/article/ac6a9a5eb439f36b653eacc0.html
测试下邮件是否可以发送
[root@localhost ~]# echo "hello" | mail -s "test" 1353755322@qq.com
2、编写邮件脚本
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# vim mail.sh
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mail.log 2>&1
3、创建日志文件并修改权限并测试
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server ~]# touch /tmp/mail.log
[root@zabbix-server ~]# chown -R zabbix.zabbix /tmp/mail.log
[root@zabbix-server ~]# chmod +x mail.sh
[root@zabbix-server ~]# chown -R zabbix.zabbix /usr/lib/zabbix/
[root@zabbix-server ~]# sh mail.sh 邮箱 zabbix "this is test"
4、Web网页配置
添加报警媒介
管理>报警媒介类型>创建媒体类型
名称自定义
类型选择脚本
脚本名称是之前编辑的脚本名称
脚本的三个参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
添加用户
管理>用户>点击Admin>报警媒介>添加
类型选择之前自定义的名称
收件人填自己邮箱
点击添加
点击更新
创建动作
配置>动作>删除默认的动作>创建动作>删除默认>创建动作
!!先不要点击添加,添加操作与恢复操作
默认标题:{TRIGGER.STATUS}:{TRIGGER.NAME}
消息内容:
告警主机:{HOST.NAME}
告警 IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
恢复操作
除了消息内容,其他都一样
默认标题:{TRIGGER.STATUS}:{TRIGGER.NAME}
消息内容:
告警主机:{HOST.NAME}
恢复主机:{HOST.NAME}
恢复 IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复 ID:{EVENT.ID}
最后点击添加
最后再确认一下操作是不是都添加完成了,如果没完成是不会发送邮件的!!
测试
被管理端停掉httpd服务
[root@zabbix-agent ~]# systemctl stop httpd
[root@zabbix-agent ~]# systemctl start httpd