一、安装邮件服务
在zabbix_server服务端安装邮件和邮件发送服务,这里可以参考我另一篇邮件服务部署文章:https://www.cnblogs.com/HeiDi-BoKe/p/11883323.html
邮件服务,zabbix服务已经安装,此处就不做介绍了。
二、编写邮件发送脚本
进入zabbix脚本目录下
# 指定告警脚本路径 [root@VM_0_10_centos alertscripts]# vi /usr/local/etc/zabbix_server.conf # 告警脚本路径 AlertScriptsPath=/usr/local/share/zabbix/alertscripts [root@VM_0_10_centos .certs]# cd /usr/local/share/zabbix/alertscripts/ [root@VM_0_10_centos alertscripts]# pwd /usr/local/share/zabbix/alertscripts
编写告警邮件脚本
# 先安装需要的包 [root@VM_0_10_centos alertscripts]# yum -y install dos2unix [root@VM_0_10_centos alertscripts]# vi sendmail.sh #!/bin/bash #zabbix邮件告警脚本 FILE=/tmp/mailtmp.txt echo "$3" > $FILE # 解决生成bin文件问题。 dos2unix -k $FILE /bin/mail -s "$2" $1 < $FILE # 给脚本添加权限 [root@VM_0_10_centos alertscripts]# chmod 755 sendmail.sh [root@VM_0_10_centos alertscripts]# chown zabbix:zabbix sendmail.sh # 创建脚本临时文件 [root@VM_0_10_centos alertscripts]# touch /tmp/mailtmp.txt [root@VM_0_10_centos alertscripts]# chown zabbix.zabbix /tmp/mailtmp.txt
三、Zabbix WEB界面添加邮件告警操作
3.1.添加邮件发送脚本
点击管理–>报警媒介类型–>创建媒体类型
脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
PS:按图示填写完成后点击添加,就会在报警媒介类型中看到刚才创建的名为AlterEmail类型
3.2 添加邮件告警介质
此处以admin用户为例,管理–>用户–>点击Admin
扫描二维码关注公众号,回复:
7930570 查看本文章
点击报警媒介,然后添加邮件接收人
3.3 创建动作
点击配置=》动作=》创建动作
名称知其意即可,除了操作,其它默认,或者根据自己需求添加
PS:此处先不要点击添加,需要将操作配置好之后再点击。不然就会出现提示“无法添加操作”
添加新的操作:
恢复的操作同样设置:
添加完成后动作页面列表就会展示出来
此时没有添加相应的触发器,如果系统中任何一台机器出现告警信息,就会通过邮件发送器发送到对应的邮箱中。
四、邮件发送消息
4.1 故障模块
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
4.2 恢复模块
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}