最近部署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发送告警邮件的更多相关文章

  1. SQL Server Alert发送告警邮件少了的原因

    最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来.如下所示,设置了告警"SQL Server Severity Event ...

  2. python导出zabbix数据并发邮件脚本

    Zabbix没有报表导出的功能,于是通过编写脚本导出zabbix数据并发邮件.效果如下: 下面是脚本,可根据自己的具体情况修改: #!/usr/bin/python #coding:utf-8 imp ...

  3. [置顶] zabbix发送告警

    之前使用邮件和短信发送zabbix告警信息,但告警信息无法实时查看或者无法发送,故障无法及时通知运维人员. 后来使用第三方微信接口发送信息,愉快地用了一年多,突然收费了. zabbix告警一直是我的痛 ...

  4. shell:实现linux服务器资源监控并发送告警邮件

    1.安装方式 wget http://10.8.225.126/wsmonitor/install.sh;sh install.sh test@test.com 2.install.sh #!/bin ...

  5. 20. 使用Fluentd发送告警邮件

    告警是预防系统故障的一个重要工具,目前已经有许多成熟的方案通过监控系统运行指标来进行阈值预警.今天简单了解一下如何使用Fluentd实现邮件告警功能. Fluentd的告警是基于日志分析实现的,通过监 ...

  6. 使用python脚本配置zabbix发送报警邮件

    #前提得在zabbix_server配置文件中配置触发脚本的目录,例如,我配置的在/usr/local/zabbix/server/scripts目录下 编写python脚本如下 因为我的服务器在腾讯 ...

  7. python+selenium+unittest发送Mail163邮件(PO)

    一.如下为项目的目录分布: 二.数据驱动yaml 三.Mail163登录测试用例编写 四.163邮件配置 五.Mail163测试用例执行: 六.邮件执行情况如下:

  8. zabbix 发送报警邮件

  9. 02 Linux系统发送告警邮件

    # yum install mailx -y # vim /etc/mail.rc set from=hyjy2504164765@163.com smtp=smtp.163.com set smtp ...

随机推荐

  1. windows系统SVN和apache的下载和安装

    原文:windows系统SVN和apache的下载和安装 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://ejb3.blogbus.com/logs/107443052. ...

  2. mysql基础之存储引擎

    原文:mysql基础之存储引擎 数据库对同样的数据,有着不同的存储方式和管理方式,在mysql中,称为存储引擎 常用的表的引擎 Myisam ,批量插入速度快, 不支持事务,锁表 Innodb, 批量 ...

  3. 64位平台支持大于2 GB大小的数组

    64位平台支持大于2 GB大小的数组 64位平台.NET Framework数组限制不能超过2GB大小.这种限制对于需要使用到大型矩阵和向量计算的工作人员来说,是一个非常大问题. 无论RAM容量有多大 ...

  4. .NET MVC4 实训记录之二(扩展WebSecurity模型下的UserProfile表)

    使用VS2013创建MVC4项目后,自动生成的代码中默认使用WebSecurity模型创建用户管理,生成以下数据库:

  5. WCF的简单

    WCF的简单 WCF的学习之旅 一.WCF的简单介绍  Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows ...

  6. 基于嵌入式OS的任务设计-----任务划分

    在<前后台系统VS嵌入式OS,何时该上OS?>一文中介绍了何时应该将OS应用于嵌入式设计中,本文将介绍基于OS的任务设计,一般来说,应用程序设计包括两个方面,一个是业务逻辑的设计,另一个是 ...

  7. 封装ReaderWriterLockSlim

    封装ReaderWriterLockSlim ReaderWriterLockSlim 类 表示用于管理资源访问的锁定状态,可实现多线程读取或进行独占式写入访问. 使用 ReaderWriterLoc ...

  8. Light, more light - PC110701

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/uva10110.html 原创:Ligh ...

  9. 利用Readability解决网页正文提取问题

    分享: 利用Readability解决网页正文提取问题   做数据抓取和分析的各位亲们, 有没有遇到下面的难题呢? - 如何从各式各样的网页中提取正文!? 虽然可以用SS为各种网站写脚本做解析, 但是 ...

  10. WordPress搭建Personal Blog【转】

    早就想搭建一个专属于自己的博客了,用来记录自己生活.学习的点点滴滴.之所以选WordPress,主要是因为它可以支持Latex,而且特别喜欢其简约的风格. WordPress有个the famous ...