基于zabbix4.2配置邮件告警--通过shell脚本
概述
今天主要分享下zabbix邮件告警方面的内容,这里介绍的是脚本实现方式,后面再介绍zabbix自带邮件功能实现方式。
一、安装邮件服务
1、安装sendmaill、mailx邮件服务
yum -y install mailx sendmail dos2unix
2、配置邮件发送人,邮箱需要启用POP3等协议
vim /etc/mail.rc ======================================================================================================================= set bsdcompat --- 增加如下内容 --- set [email protected] set smtp=mail.your-domain.com set smtp-auth-user=yourname set smtp-auth-password=yourpasswd set smtp-auth=login
3、测试邮件发送功能
echo "hello word" | mail -s "mail title" [email protected]
二、添加zabbix邮件报警脚本
1、查看zabbix_server脚本路径
vim /etc/zabbix/zabbix_server.conf ============================================== AlertScriptsPath=/usr/lib/zabbix/alertscripts ==============================================
2、创建邮件发送脚本
cd /usr/lib/zabbix/alertscripts/ vim sendmail.sh =============================================== #!/bin/bash #zabbix邮件告警脚本 FILE=/tmp/mailtmp.txt echo "$3" > $FILE # 解决生成bin文件问题。 dos2unix -k $FILE /bin/mail -s "$2" $1 < $FILE =============================================== --授权 chmod 755 sendmail.sh chown zabbix.zabbix sendmail.sh --创建脚本临时文件。 touch /tmp/mailtmp.txt chown zabbix.zabbix /tmp/mailtmp.txt
确认Zabiix各级父目录有 zabbix用户的所属权限。
三、WEB添加邮件报警操作
1、添加邮件发送脚本
管理–>报警媒介类型–>创建媒体类型
按图示填写完成后点击更新,就会在报警媒介类型中看到刚才创建的名为Email类型
测试:
2、添加邮件报警介质
此处以Admin用户为例,管理–>用户–>点击Admin
点击报警媒介,然后添加邮件接收人
3、创建动作
1)配置-动作-创建动作
名称自己起,除了操作,其它默认
2)添加新的操作
添加完成后动作页面列表就会展示出来:
此时没有添加相应的触发器,如果系统中任何一台机器出现告警信息,就会通过邮件发送器发送到对应的邮箱中。
3)添加恢复操作
设置后界面:
监控模板
--故障模板
故障{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}
--恢复模板
恢复{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}
关于zabbix邮件告警方面内容就介绍到这了,觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~