zabbix使用python脚本发送报警邮件

此处是用外部脚本python实现zabbix的报警机制的。对于zabbix3.0此处存在一个小改动,让本宝宝忙活了一天才找到原因哒。。。。

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

vim /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/lib/zabbix/alertscripts

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

#! /usr/bin/env python
# coding:utf-8

'''
[INFORMATION]
Zabbix Send Email With Python
AUTHOR : Wing
GitHub : https://github.com/wing324
Email : wing324@126.com
'''


from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
import sys

def send_mail(_to_email,_subject,_message):
# 定义邮件发送
smtp_host = 'smtp.xxx.xx'
from_email = 'xxx@xxx.xx'
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.py chmod 755 zabbix_send_email.py

4、zabbix web配置

  • Administration –> Media types –> Create media type
    zabbix使用python脚本发送报警邮件
  • 创建一个测试用户Administration –> Users –> Create user
    zabbix使用python脚本发送报警邮件
  • 为新创建的user指定media:Administration –> Users –> Create user –> Media
    zabbix使用python脚本发送报警邮件
  • 创建action实现邮件报警Configuration –> Actions –> Create action
    zabbix使用python脚本发送报警邮件 zabbix使用python脚本发送报警邮件 zabbix使用python脚本发送报警邮件

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

TIPS:

如果你用的zabbix3.0,请注意Administration –> Media types –> Create media type这一步的配置如下:

zabbix使用python脚本发送报警邮件

(今天被这个坑了一天。。。。。。)

原文  http://wing324.github.io/2016/05/28/zabbix使用python脚本发送报警邮件/

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » zabbix使用python脚本发送报警邮件

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址