zabbix4.2配置邮件告警脚本教程

作者: admin 分类: zabbix 发布时间: 2019-08-30 14:12

管理---用户---报警媒介----添加



指定报警的类型为Email,指定邮件地址为接收方的邮件地址,为了让邮件可以准确的到达,需要在接收方的邮件中设置白名单,允许发送方的邮件被接收。

配置---动作---创建动作



配置相关的动作,这个是针对触发器设定的,当监控的item达到一定的条件(由触发器Trigger设置),则会使trigger执行设定好的动作,一个动作可以针对多个触发器设定,当他们满则条件时都会执行相应的动作,因为是邮件报警,所以当trigger被触发时,我们给相关用户的邮箱发送邮件,这样运维人员会根据邮件的报错提示及时解决问题,当问题结局时还会发送恢复邮件,这样就可以把机器及业务的运行状态及时的监控起来。



故障{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}






恢复{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}





zabbix给三个参数赋值

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

发送邮件脚本讲解、放置位置、需要执行权限(chmod a+x zabbix_sendmail.py)、测试(邮箱需要开启smtp功能)
 

放置位置的配置zabbix_server.conf:

AlertScriptsPath=/usr/lib/zabbix/alertscripts

发送邮件的脚本(zabbix_sendmail.py):

#!/usr/bin/python

# -*- coding: utf-8 -*-

from email.mime.text import MIMEText

from email.header import Header

from smtplib import SMTP_SSL

import sys

smtpaddr = 'smtp.163.com'

myemail='utk8ys@163.com'

#password='mypassword'

f = open('/usr/lib/zabbix/alertscripts/password','r')  //密码输入授权码

password = f.readline().strip()

recvmail=sys.argv[1]

subject=sys.argv[2]

content=sys.argv[3]

msg = MIMEText("""%s"""%(content), "plain", "utf-8")

msg['Subject'] = Header(subject, 'utf-8').encode()

msg['From'] = myemail

msg['To'] =  recvmail

try:

  smtp = SMTP_SSL( smtpaddr )

  smtp.login(myemail, password)

  smtp.sendmail(myemail, recvmail.split(','), msg.as_string())

  smtp.quit()

  print("success")

except Exception as e:

      print("fail: "+str(e))

chown zabbix.zabbix zabbix_sendmail.py

chmod a+x zabbix_sendmail.py
 

测试脚本

/usr/lib/zabbix/alertscripts/zabbix_sendmail.py utk8ys@163.com 'zabbix disk' 'content: disk > 90%'

 

Linux 命令大全

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!