通过python为ZABBIX发告警邮件

最近部署ZABBIX的邮件告警时,用刚学的python来写告警邮件脚本。

python代码如下

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = ‘smtp.163.com‘  
mail_user = ‘[email protected]‘
mail_pass = ‘XXXX‘
mail_postfix = ‘163.com‘
def send_mail(to_list,subject,content):
    me = "zabbix 监控告警平台"+"<"+mail_user+"@"+mail_postfix+">"
    msg = MIMEText(content, ‘plain‘, ‘utf-8‘)
    msg[‘Subject‘] = subject
    msg[‘From‘] = me
    msg[‘to‘] = to_list
    try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pass)
        s.sendmail(me,to_list,msg.as_string())
        s.close()
        return True
    except Exception,e:
        print str(e)
        return False
if __name__ == "__main__":
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

把 以上代码保存为  send.py  放到 /etc/zabbix/alertscripts 目录下

如要验证代码能否正常运行,则可以执行 ./send.py [email protected] 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

在administration中的users里,配置media信息,如下图

完成

时间: 2024-12-29 09:45:37

通过python为ZABBIX发告警邮件的相关文章

监控SQL Server数据库异常镜像状态发告警邮件

监控SQL Server数据库异常镜像状态发告警邮件 在部署了数据库镜像之后,我们需要监控参与镜像的主数据库和镜像数据库的状态,如果状态异常,发送告警邮件.那么这个脚本需要在主和镜像服务器上都运行. 目录视图sys.database_mirroring对SQL Server实例上的每个数据库都包含一行(包括系统数据库和未配置镜像的数据库),当然也包含所有镜像数据库的状态信息.我们可以查询该目录视图,对于每个异常状态的镜像数据库触发告警邮件.笔者的环境配置的是异步镜像,依赖于手动故障转移. 前提条

Python实现Zabbix图文告警

python实现Zabbix图文告警,代码如下: #!/usr/bin/python# coding: utf-8#Author: Zhi Liimport urllib.requestimport jsonimport sysimport datetime,timeimport osimport argparseimport reimport requestsdefault_encoding = 'utf-8'if sys.getdefaultencoding() != default_enc

Smokeping 使用外部邮箱发送告警邮件

Smokeping 发送告警邮件 转自:http://www.humen1.net/2013/11/669 smokeping 默认用sendmail发邮件,这样不好. 改了一下源码 这样可以使用 我QQ的smtp server来发告警邮件了 首先需要安装 Authen::SASL 模块(auth 需要用的) 我用CPAN装的,不细说了 修改 smokeping/lib/Smokeping.pm 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17

朋友,我用python给你发了一封邮件

- 1. Start - 在某个周末,心血来潮,我想给我远方的朋友发送电子邮件,跟他分享我要在CSDN开设顺哥读源码的专栏.于是我登陆新浪邮箱,写下这样的内容: 鼠标轻击"发送"按钮,我远在千里之外的朋友就可以看到我给他写的邮件了 沿着这个思路YY下去,我要怎么才能让我的朋友知道我完成了新的博客呢?每次写完都像上面这样写邮件告诉他?要是朋友比较多呢?那不是忙死顺哥啊.要是能够在每次更新博客之后自动发送邮件通知朋友是不是很好? 我拿出工作电脑开始翻看以前写过的发送告警邮件的代码,pyth

在zabbix上添加自定义监控项目、配置告警且发送告警邮件到指定邮箱

在zabbix上添加自定义监控项目 配置告警且发送告警邮件到指定邮箱 原文地址:http://blog.51cto.com/13515599/2104326

Python自定义任务发邮件提醒

前言 在工作中,有时会有一些定期需要执行的任务或在将来某一天需要执行的任务,为避免疏漏,设计个小工具,发邮件提醒自己去处理. 方案简介 1.建立一个Excel文件,里面定义好待提醒的任务 2.建立一个记事本文件,里面输入待接收邮件的邮箱账号 3.采用Python编写代码,读取Excel文件,检查是否该发送提醒邮件,如果需要提醒,则发出邮件给接收人. 4.把python编写的代码,打包成exe可执行文件 5.采用Windows的定时任务作业,调度打包好的exe文件 详细方案: 1.Excel名称:

云服务器 zabbix 配置报警邮件

配置邮件报警功能 1.在 zabbix 服务器上安装 mail 服务 : yum install mailx -y 问题:could not connect: Connection timed out "/root/dead.letter" 11/318 . . . message not sent. 分析:阿里云服务器关闭了25端口,发送邮件连接不上服务器的缘故,而且官方不允许打开该端口 一.请求数字证书 依次完成以下命令 mkdir -p /data/.certs/ chmod -

zabbix配置及邮件短信报警

Zabbix邮件报警的大致流程如下: 监控主机---->监控项---->触发器---->告警动作---->告警方式---->告警用户 首先添加监控项 1.添加受监控项的主机 组态---主机---右上角"创建主机" 弹出主机创建页面 上图填完后先不要点存档,而是点击左上角的模板,选择要使用的模板(可选择多个模板,一个模板中包含一个或多个监控项目),也可以在"模板"选项中创建一个新的模板,选择完模板后点添加,再点 存档 在主机列表中点击被监

zabbix之本地邮件监控报警安装详解

文记: 写这篇博文之前的时候我接到了一个不幸的消息,跟我一起的一位同事要走,准备换工作了,于是,我的第一反应,我的蜜月期结束了,即将开始一个被蹂躏的时代,心里默默的祝愿他找一份15K的工作,又默默的想说对他说一句,你真JB坑.... 哎~! 我即将跳进一个无底洞,默默的被蹂躏,默默的被践踏...也许这也是一个新的开始.... 开始正文,估计他会默默的陪伴我这仅有的半个月时间,为此,这半个月,可能都会以zabbix 为主,如不出意外,每天一博.在半月后的某天,我估计我能出书了   <<zabbi