热门IT资讯网

zabbix怎么利用python脚本发送报警邮件

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,这篇文章主要介绍了zabbix怎么利用python脚本发送报警邮件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇zabbix怎么利用python脚本发送报警邮件文章都会有

这篇文章主要介绍了zabbix怎么利用python脚本发送报警邮件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇zabbix怎么利用python脚本发送报警邮件文章都会有所收获,下面我们一起来看看吧。

步骤如下:

1、编辑zabbix_server.conf文件,修改alertscriptspath参数,该参数用于指定外部脚本的绝对路径。

vim /etc/zabbix/zabbix_server.confalertscriptspath=/usr/lib/zabbix/alertscripts

2、上传新增py脚本至alertscriptspath参数指定的绝对路径下,py文件如下:

#! /usr/bin/env python# coding:utf-8'''[information]zabbix send email with pythonauthor : winggithub : https://github.com/wing324email : [email protected]'''from email import encodersfrom email.header import headerfrom email.mime.text import mimetextfrom email.utils import parseaddr, formataddrimport smtplibimport sysdef send_mail(_to_email,_subject,_message):# 定义邮件发送 smtp_host = 'smtp.xxx.xx' from_email = '[email protected]' passwd = 'xxxxxx' msg = mimetext(_message,'plain','utf-8') msg['subject'] = _subject smtp_server = smtplib.smtp(smtp_host,25) smtp_server.login(from_email,passwd) smtp_server.sendmail(from_email,[_to_email],msg.as_string()) smtp_server.quit()if __name__ == '__main__': send_mail(sys.argv[1],sys.argv[2],sys.argv[3])

3、修改python脚本的权限

chown -r zabbix:zabbix zabbix_send_email.pychmod 755 zabbix_send_email.py

4、zabbix web端配置

administration -> media types -> create media type

创建一个测试用户administration -> users -> create user

为新创建的user指定media:administration -> users -> create user -> media

创建action实现邮件报警configuration -> actions -> create action

5、zabbix测试发送邮件

找一个test的zabbix_agentd,kill掉,查看是否收到报警邮件。再将其恢复,查看是否收到恢复后的邮件。如果一切如预期所想,那么至此就完成了使用python脚本完成zabbix的报警邮件了。如果没有如预期所想。

tips:

如果你用的zabbix3.0,请注意administration -> media types -> create media type这一步的配置如下:

关于"zabbix怎么利用python脚本发送报警邮件"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"zabbix怎么利用python脚本发送报警邮件"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0