通过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 ...
随机推荐
- leetcode 34 Search Insert Position
Given a sorted array and a target value, return the index if the target is found. If not, return the ...
- 使用Clean() 去掉由函数自动生成的字符串中的双引号
有时候由Excel单元格函数軿凑出来的字符串会自带双引号 效果如下: 想这种这个情况,刚好我们軿凑出来的是SQL语句, 执行的时候是去掉双引号, 这时候可以使用Excel自带的函数来去掉双引号 Cle ...
- socket计划——一个简单的例子
从一个简单易用TCP样品开始socket计划,的基本过程例如下列: server client +++ ...
- TodoList开发笔记 – Part Ⅳ
跌跌撞撞总算是把客户端开发好了,后台的代码因为不复杂,就写了些单元测试跑一跑就算通过了,大部分时间都是在调整脚本. 这一节开始部署TodoList项目. 一.了解IIS(Internet Infoma ...
- 在PHP中如何连接到数据库
首先我们先运行WampServer中的phpMyAdmin随即弹出phpMyAdmin页面 在弹出的页面中左边是数据库列表 右边是相应的设置 选择一个数据库 在里面创建一张数据表 注意创建数 ...
- 如何给非AppCompatActivity添加Toolbar?--关于5.0新特性兼容5.0以下设备的探索
Android支持包22.1引进了AppCompatDelegate 最新22.1版本的支持包引入了大量酷炫的新特性,这些特性将允许我们轻易地将材料设计/API 21+的特性应用到之前的那些老的,不兼 ...
- SignalR的服务器广播
可以试试 https://github.com/angular-ui/bootstrap 这个框架啊 [渣译文] SignalR 2.0 系列:SignalR的服务器广播 2014-03-13 09: ...
- C/C++基础知识总结——数据的共享与保护
1. 标识符的作用域与可见性 1.1 作用域 标识符的作用域包括:函数原型作用域.局部作用域.类作用域.命名空间作用域 (1) 函数原型作用域:函数的参与的作用域就是从函数的开始到结束 (2) 局部作 ...
- WPF专业编程指南 - 那些根元素<>的解释
<Window x:Class="Chapter1_WpfApplication1.MainWindow" xmlns="http://schemas.micros ...
- Unity3d物体模型(实现旋转缩放平移自动旋转)
基本功能实现:物体通过鼠标左键上下移动,中间键缩放.右键旋转,30秒没操作,物体自动旋转 实例代码: using UnityEngine; using System.Collections; publ ...