Zabbix 配置Python邮件告警

网友投稿 236 2022-09-02


Zabbix 配置Python邮件告警

1.首先你应该注册一个163邮箱,用于发信,再注册时开启SMTP/POP3功能,使用加密密码认证.

2.在Zabbix主机上新建send.py文件,将以下代码复制编辑,设置发件用户、密码.

[root@localhost ~]# vim send.py#!/usr/bin/python#coding:utf-8import smtplibfrom email.mime.text import MIMETextimport sysmail_host = 'smtp.163.com' mail_user = 'smtpwho'mail_pass = '密码'mail_postfix = '163.com'def send_mail(to_list,subject,content): me = "Zabbix 监控告警通知"+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEText(content, 'plain', 'utf-8') msg['Subject'] = subject msg['From'] = me msg['to'] = to_list s = smtplib.SMTP() s.connect(mail_host) s.login(mail_user,mail_pass) s.sendmail(me,to_list,msg.as_string()) s.close()if __name__ == "__main__": send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

3.紧接着我们给脚本相应的权限测试是否能够发信成功,并拷贝到zabbix的默认脚本目中.

[root@localhost ~]# chmod +x send.py[root@localhost ~]# python send.py 1181506874@qq.com zabbix checkok[root@localhost ~]# echo $?0[root@localhost ~]# cp -a send.py /usr/lib/zabbix/alertscripts/[root@localhost ~]# chmod 755 -R /usr/lib/zabbix/alertscripts/

4.登录Zabbix主机,查看配置zabbix_server.conf,找到AlertScriptsPath取消注释.

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf### Option: AlertScriptsPath# Full path to location of custom alert scripts.# Default depends on compilation options.# To see the default path run command "zabbix_server --help".## Mandatory: no# Default:# AlertScriptsPath=${datadir}/zabbix/alertscriptsAlertScriptsPath=/usr/lib/zabbix/alertscripts #解除注释,找到配置项

新增参数:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE}分别依次加入,然后更新保存.

标题改为:

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

信息改为:

告警主机:{HOSTNAME1}

告警地址:{HOST.IP}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件 ID:{EVENT.ID}

8.当我们配置完成一个故障报警后,下面就继续配置一个恢复后的提示.

标题改为:

恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

信息改为:

告警主机:{HOSTNAME1}

告警地址:{HOST.IP}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件 ID:{EVENT.ID}

10.强制关闭虚拟机,测试是否有邮件报警即可.


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python 使用PyQt生成图形界面(python基础教程)
下一篇:Java综合整理堆排序 快速排序 归并排序
相关文章

 发表评论

暂时没有评论,来抢沙发吧~