Zabbix3.2邮件告警python脚本

一、概述及环境要求

1、概述

zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法。之前使用过sendemail邮件报警但是发现邮件主题为中文时候会出现乱码的问题。

2、环境安装要求

Zabbix软件版本:zabbix3.2.6

操作系统:CentOS release 6.8 (Final)

二、脚本创建及测试

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

grep -n ‘^[a-Z]‘ /usr/local/etc/zabbix_server.conf

38:LogFile=/tmp/zabbix_server.log

87:DBName=zabbix

103:DBUser=zabbix

111:DBPassword=zabbix

126:DBPort=3306

239:StartVMwareCollectors=10

247:VMwareFrequency=60

255:VMwarePerfFrequency=60

265:VMwareCacheSize=80M

273:VMwareTimeout=10

281:SNMPTrapperFile=/tmp/zabbix_traps.tmp

289:StartSNMPTrapper=0

407:Timeout=4

448:AlertScriptsPath=/usr/local/share/zabbix/alertscripts

492:LogSlowQueries=3000

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

/etc/init.d/zabbix_server restart

3、进入Zabbix发邮件脚本目录

cd /usr/local/share/zabbix/alertscripts

4、创建脚本及配置

vim zabbix-mail.py

#!/usr/bin/python

#coding:utf-8

import smtplib

from email.mime.text import MIMEText

import sys

mail_host = ‘smtp.qq.com‘

mail_user = ‘10880347‘

mail_pass = ‘**********‘

mail_postfix = ‘qq.com‘

def send_mail(to_list,subject,content):

me = "zabbix3.2监控告警平台"+"<"+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])

5.增加可执行权限

chmod +x zabbix-mail.py

chown -R zabbix.zabbix zabbix-mail.py

6.测试邮件

python zabbix-mail.py [email protected] test test

三、ZABBIX服务器报警媒介类型

1、web界面设置

http://172.16.8.200/zabbix/

添加三个参数

{ALERT.SENDTO}收件人地址

{ALERT.SUBJECT}主题

{ALERT.MESSAGE}详细内容

2、创建报警用户

3、配置报警媒介

4、配置权限

现在测试环境所以配置超级管理的权限,如果是生产环境建议使用用户权限

四、配置报警动作

1、创建新的触发动作

2、配置动作

3、配置操作

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

4、配置恢复操作

恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

5、邮件告警测试结果

时间: 2024-08-05 20:31:34

Zabbix3.2邮件告警python脚本的相关文章

zabbix系统邮件告警Python脚本

zabbix系统邮件告警配置有很多方式,如系统自带的mail,还有zabbix+msmtp+mutt,但是使用Python脚本应该来说还是一个非常简捷有效的方式.主要有如下步骤: 1.设置zabbix_server.conf文件 AlterScript = /usr/local/zabbix/share/zabbix/alterscript 2.建立告警脚本 cd /usr/local/zabbix/share/zabbix/alterscript/ sudo vim sendEmail.sh

阿里云创建邮件告警 python 脚本,执行超时

现象:做了一个邮件告警脚本,python 写的,名称 mail.py,内容如下 #!/usr/bin/python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys mail_user = '[email protected]' mail_pass = '8xxxxxxxxxxxxj' def send_mail(to_list,subject,content): me = "zabbix 监

zabbix邮件告警python脚本

#!/usr/bin/python # -*- coding: utf-8 -*- """ Zabbix SMTP Alert script from qq. auth:json """ import sys import email import smtplib import os from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipar

linux服务器登录邮件告警python程序

linux服务器用户登录邮件告警python小程序,一旦有人登录服务器就发邮件通知系统管理员.作为SA有些服务器只有自己可以登录的,你懂的!可有时候会被研发坑,被运维坑.为了全面掌控服务器,配置一个用户登录系统邮件通知,是很必要滴! 比较渣渣的一个脚本,不过在次基础上可以很容易的扩展滴.直接上代码了. #!/usr/bin/python#coding:utf8import smtplibimport stringimport psutilimport datetime HOST = "smtp.

邮件发送Python脚本

#!/usr/bin/env python2 #-*- coding: utf-8 -*- #导入smtplib,sys import smtplib,sys from email.mime.text import MIMEText def send_mail(sub,content): #要发给谁,这里发给1个人 mailto_list=["[email protected]", "[email protected]"] #设置服务器用户名.口令以及邮箱后缀 ma

Pinger短信告警Python脚本

#!/usr/bin/env python #-*- coding:utf-8 -*- import urllib import urllib2 mobile = [18688965555,] #mobile = [15013805555,] #CONTENT = u'客户' def sms(CONTENT): for i in mobile: url='http://219.33.33.33/GsmsHttp' parms = { 'username':'73333:admin', 'pass

zabbix邮件报警python脚本

之前保存了一个zabbix的邮件脚本,这次在使用中遇到了一些问题,这里合大家分享一下. #!/usr/bin/env python #-*- coding: UTF-8 -*- import smtplib import sys from email.mime.text import MIMEText from email.header import Header def send_mail(to_email,subject,message):     sender = '[email prot

web服务监控邮件告警python程序

状态码基本类型: 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息. 400-499 用于指出客户端的错误. 500-599 用于支持服务器错误. 我这个监控主要是监控网站首页的状态码200,这个简单一点,没有301跳转啊什么的.虽然有zabbix监控,但感觉自己写的一个还是挺简单的.就是根据上一篇的linux监控python程序扩展了一下.用之前先检查一下看看要监控的web的状态码

Zabbix邮件告警

1.Zabbix邮件告警 说明: Zabbix监控服务端.客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常. 实现目的: 在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱 首先在配置文件里修改AlertScriptsPath [[email protected] alertscripts]# vim /usr/local/zabbix/etc/zabbix_server.conf AlertScriptsPath=/usr/