首页 > 后端开发 > Python教程 > zabbix利用python脚本发送报警邮件的方法

zabbix利用python脚本发送报警邮件的方法

高洛峰
发布: 2017-01-17 09:59:38
原创
1425 人浏览过

前言

zabbix是个非常强大的监控工具,可以监控linux和windows的服务器数据,也可以通过自定义key来扩展默认的监控项,但是自带的邮件报警提供的信息却不太友善。本文想通过自定脚本的方式,实现在报警邮件的同时发送对应的图像和url连接。

步骤如下:

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脚本发送报警邮件的方法

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

更多zabbix利用python脚本发送报警邮件的方法相关文章请关注PHP中文网!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板