通过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 ...
 
随机推荐
- wpa_cli P2P 连接相关的调试命令
			
在最近的一次客户端上的调试p2p的wifi display, 他们中的一半Android该调整了,整个前所以没有太多的研究p2p过程连接, 客户现在使用的非Android平台架构. 需要协助客户这么多 ...
 - Memcached在.Net中的基本操作
			
Memcached在.Net中的基本操作 一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅 ...
 - 路由模块router实现step1
			
hashchange事件 参考:http://www.cnblogs.com/rubylouvre/archive/2012/10/24/2730599.html 需要解决的问题: 1.IE6/7及兼 ...
 - HDU 4630、BOJ 某题
			
两道离线线段树. 比赛时候没想到.... 扫描数组,i从1到n,线段树维护从1到i每一个约数(1~50000)的出现的最近位置,线段树存储的是约数的最大值 #include<cstdio> ...
 - Bootstrap导航悬浮顶部,stickUp
			
stickUp 一个 jQuery 插件 这是一个简单的jQuery插件,它能让页面目标元素 “固定” 在浏览器窗口的顶部,即便页面在滚动,目标元素仍然能出现在设定的位置.此插件可以在多页面的网站上工 ...
 - 存储过程的参数问题与C#中的调用
			
1. 带参数的存储过程 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[sp_select_gua] @num ...
 - SQLSERVER一些公用DLL
			
SQLSERVER一些公用DLL的作用解释 SQLSERVER一些公用DLL的作用解释 如果你的SQLSERVER安装在C盘的话,下面的路径就是相应SQLSERVER版本的公用DLL的存放路径 S ...
 - [Usaco2007 Dec]Building Roads 修建道路[最小生成树]
			
Description Farmer John最近得到了一些新的农场,他想新修一些道路使得他的所有农场可以经过原有的或是新修的道路互达(也就是说,从任一个农场都可以经过一些首尾相连道路到达剩下的所有农 ...
 - oracle数据库管理--对象、角色相关查询
			
1.数据字典: 记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有用户者为sys用户.用户只能在数据字典上执行查询操作(select语句),而其维护与修改是由系统自动完成的.数据字 ...
 - c#中如何跨线程调用windows窗体控件
			
c#中如何跨线程调用windows窗体控件? 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来做这个问题,下面我将详细的介绍.首 ...