python发送告警邮件脚本

yipeiwu_com6年前Python基础

python脚本为敏捷开发脚本,在zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法。

脚本如下:

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.126.com' 
mail_user = 'username'
mail_pass = 'passwd'
mail_postfix = '126.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文件,将以上代码复制编辑,设置发件用户、密码。

然后验证脚本是否可以正常发送邮件 ./send.py xxx@139.com  hello test 三个参数分别是:收件人邮箱、邮箱主题、邮箱内容

登录zabbix主机,查看配置zabbix_server.conf ,找到AlertScriptsPath,查看路径位置,如被注释,将注释打开,把send.py 文件保存到该目录下。

如有修改配置,需重启zabbix-server服务。

在zabbix管理中添加报警媒介类型,注意parameter中的值一定要写入,注意script name中的脚本文件名字,要和刚刚编写的Python文件名一致

新增参数:{ALERT.SENDTO}{ALERT.SUBJECT}{ALERT.MESSAGE},分别依次加入。然后更新保存。


配置用户,修改报警媒介,填写收件人邮箱,选择发送邮件告警类型。


在配置-动作-操作中,send only to 中选择刚刚建立的send.py这个媒介类型


以上步骤就完成了python脚本的发送邮件告警配置。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现切割url得到域名、协议、主机名等各个字段的例子

有一个需求就是需要对url进行进一步的划分得到详细的各个字段信息,下面是简单的实现: #!/usr/bin/python # -*- coding: UTF-8 -*- ''' __...

pytorch 预训练层的使用方法

pytorch 预训练层的使用方法 将其他地方训练好的网络,用到新的网络里面 加载预训练网络 1.原先已经训练好一个网络 AutoEncoder_FC() 2.首先加载该网络,读取其存储...

使用Python制作一个打字训练小工具

使用Python制作一个打字训练小工具

一、写在前面   说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU。      别人眼中的程序员:飞快的敲击键盘、酷炫的切...

详解Python二维数组与三维数组切片的方法

如果对象是二维数组,则切片应当是x[:]的形式,里面有一个冒号,冒号之前和之后分别表示对象的第0个维度和第1个维度; 如果对象是三维数组,则切片应当是x[::],里面有两个冒号,分割出...

Windows系统下使用flup搭建Nginx和Python环境的方法

首先确保你的电脑里已经安装了Python和Django,接下来我们还需要两个组件,nginx服务器和flup(Python的FastCGI组件) nginx下载地址:http://ngi...