通过python为zabbix发送告警邮件
最近部署ZABBIX的邮件告警时,用刚学的python来写告警邮件脚本。
由于时间有限,我只对关键步骤做截图,对zabbix的基本配置略过。
python代码如下
1 #!/usr/bin/python
2 #coding:utf-8
3
4 import smtplib
5 from email.mime.text import MIMEText
6 import sys
7
8 # configure your own parameters here
9 mail_host = 'smtp.163.com'
10 mail_user = '18501658552@163.com'
11 mail_pass = 'allen1990'
12 mail_postfix = '163.com'
13
14 def send_mail(to_list,subject,content):
15 me = "zabbix 监控告警平台"+"<"+mail_user+"@"+mail_postfix+">"
16 msg = MIMEText(content, 'plain', 'utf-8')
17 msg['Subject'] = subject
18 msg['From'] = me
19 msg['to'] = to_list
20
21 try:
22 s = smtplib.SMTP()
23 s.connect(mail_host)
24 s.login(mail_user,mail_pass)
25 s.sendmail(me,to_list,msg.as_string())
26 s.close()
27 return True
28 except Exception,e:
29 print str(e)
30 return False
31
32 if __name__ == "__main__":
33 send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
把 以上代码保存为 send.py 放到 /etc/zabbix/alertscripts 目录下,注意要对send.py文件添加执行权限
如要验证代码能否正常运行,则可以执行 ./send.py XXX@163.com hello test 来看是否能正常发出邮件
在 zabbix_server.conf 文件中,找到 AlertScriptsPath,后面路径修改为 /etc/zabbix/alertscripts
然后重启zabbix 服务
在zabbix中新建一个 media types,注意parameter中的值一定要写入,注意script name中的脚本文件名字,要和刚刚编写的Python文件名一致

配置 actions,在send only to 中选择刚刚建立的send.py这个media types,在send to user group中选择zabbix administrators

在administration中的users里,找到一个zabbix administrators组里的user,然后配置其media信息,主要是收件人的邮件地址,如下图

完成
通过python为zabbix发送告警邮件的更多相关文章
- SQL Server Alert发送告警邮件少了的原因
最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来.如下所示,设置了告警"SQL Server Severity Event ...
- python导出zabbix数据并发邮件脚本
Zabbix没有报表导出的功能,于是通过编写脚本导出zabbix数据并发邮件.效果如下: 下面是脚本,可根据自己的具体情况修改: #!/usr/bin/python #coding:utf-8 imp ...
- [置顶]
zabbix发送告警
之前使用邮件和短信发送zabbix告警信息,但告警信息无法实时查看或者无法发送,故障无法及时通知运维人员. 后来使用第三方微信接口发送信息,愉快地用了一年多,突然收费了. zabbix告警一直是我的痛 ...
- shell:实现linux服务器资源监控并发送告警邮件
1.安装方式 wget http://10.8.225.126/wsmonitor/install.sh;sh install.sh test@test.com 2.install.sh #!/bin ...
- 20. 使用Fluentd发送告警邮件
告警是预防系统故障的一个重要工具,目前已经有许多成熟的方案通过监控系统运行指标来进行阈值预警.今天简单了解一下如何使用Fluentd实现邮件告警功能. Fluentd的告警是基于日志分析实现的,通过监 ...
- 使用python脚本配置zabbix发送报警邮件
#前提得在zabbix_server配置文件中配置触发脚本的目录,例如,我配置的在/usr/local/zabbix/server/scripts目录下 编写python脚本如下 因为我的服务器在腾讯 ...
- python+selenium+unittest发送Mail163邮件(PO)
一.如下为项目的目录分布: 二.数据驱动yaml 三.Mail163登录测试用例编写 四.163邮件配置 五.Mail163测试用例执行: 六.邮件执行情况如下:
- zabbix 发送报警邮件
- 02 Linux系统发送告警邮件
# yum install mailx -y # vim /etc/mail.rc set from=hyjy2504164765@163.com smtp=smtp.163.com set smtp ...
随机推荐
- Arcgis for JS实现台风运动路径与影像范围的显示
首先,看看详细的效果: 初始化状态 绘制中 绘制完毕 首先,组织数据.我组织的数据是JSON的,数据的详细形式例如以下: 其次,实现思路. 1.加入显示路径. 依据起始点,生成polyline的JSO ...
- WP 开发中.xaml 与.xaml.cs
关于 WP 开发中.xaml 与.xaml.cs 的关系 今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: ...
- 如何去除configure的默认选择-g O2
http://lists.gnu.org/archive/html/autoconf/2006-04/msg00002.html http://www.linuxidc.com/Linux/2013- ...
- 设计与实现的简单和经常使用的权限系统(五岁以下儿童):不维护节点的深度level,手工计算level,树形结构
以这种方式.和第三的类似介绍.所不同的是.深度未在数据库中存储节点level,添加和更改时间,护.而是,在程序中,实时去计算的. 至于后面的,依照level升序排序,再迭代全部的节点构造树,与第三篇 ...
- Oracleclient+PLSQL Developer实现远程登录Oracle数据库
Oracle数据库功能强大.性能卓越,在造就这些长处的同一时候,也导致Oracle占内存比較多.针对这个问题,我们怎样做到取其精华去其糟粕呢? 解决方式:我们能够在局域网内的server上安装庞大的O ...
- avalon.js实现一个简易日历
使用MVVM框架avalon.js实现一个简易日历 最近在做公司内部的运营管理系统,因为与日历密切相关,同时无需触发条件直接显示在页面上,所以针对这样的功能场景,我就用avalon快速实现了一个简 ...
- javascript 学习总结(三)Boolean对象
Boolean对象 /* 创建 Boolean 对象的语法: new Boolean(value); //构造函数 Boolean(value); //转换函数 参数 value 由布尔对象存放的值或 ...
- JQUERY 插件开发——MENU(导航菜单)
JQUERY 插件开发——MENU(导航菜单) 故事背景:由于最近太忙了,已经很久没有写jquery插件开发系列了.但是凭着自己对这方面的爱好,我还是抽了一些时间来过一下插件瘾的.今天的主题是导航菜单 ...
- DDD(领域驱动设计)应对具体业务场景,Domain Model(领域模型)到底如何设计?
DDD(领域驱动设计)应对具体业务场景,Domain Model(领域模型)到底如何设计? 写在前面 阅读目录: 迷雾森林 找回自我 开源地址 后记 毫无疑问,领域驱动设计的核心是领域模型,领域模型的 ...
- Forget Java to learn Javascript from 0.--Day 1
The first day,when I read 'we need practice so we need a Javascript Interpreter.','Every browser has ...