暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Zabbix脚本发送邮件告警

Linux系统运维笔记 2020-02-19
741

1.设置告警媒介类型

管理--->报警媒介类型----> 创建媒体类型

名称自定义,这里用脚本报警

脚本名称是将要发送告警邮件的脚本,脚本参数分别为

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE} 

3个参数,分别对应脚本的3个参数:收件人地址、主题、详细内容。


2.设置报警脚本


报警脚本位于zabbix-server端,查看/etc/zabbix/zabbix_server.conf可以看到AlertScriptsPath=/usr/lib/zabbix/alertscripts此路径就是告警脚本的存放路径,可以手动更改路径,也可以不改,将相应的告警脚本放到此路径下即可。(注意,更改配置文件后要重启zabbix-server服务),内容如下,基于python2

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
import base64


mail_host = 'smtp.163.com' # smtp地址
mail_user = '用户' # 比如zhangsan
mail_pass = '邮箱密码'
mail_postfix = '邮箱后缀' # 比如foxmail.com
sender='发件人'


def send_mail(to_list,subject,content):
mail_user+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content,'plain', 'utf-8')
if not isinstance(subject, unicode):
subject = unicode(subject, 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
msg["Accept-Language"] = "zh-CN"
msg["Accept-Charset"] = "ISO-8859-1,utf-8"
try:
s = smtplib.SMTP_SSL()
s.connect(mail_host,994)
s.login(sender, 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])

测试报警脚本是否可用:./support.py 收件地址   主题    内容

若无报错且收到邮件则表示报警邮件好使。


 3.用户报警媒介设置


管理---->用户(选中相应的用户)--->报警媒介---->类型脚本报警,设置收件人等等


4.设置触发器


配置---->动作---->右上角事件源选触发器--->点击创建动作


设置动作,动作这一栏名称都自定义,触发条件可以写主机群组等于discovered hosts,就是此触发器生效的对象是谁,不填不会触发


操作设置,默认标题,消息内容都可以更改,可以改成以下内容,也可以不改

{TRIGGER.STATUS}: {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.测试环节


测试触发告警时邮箱是否收到告警邮件,如果没有收到邮件,可以查看动作日志,如果动作日志没有消息,则前面步骤有遗漏或者配置错误,检查前面配置,如果动作日志有消息内容,但是显示已失败,可以点击后面红色感叹号!会有对应的报错信息。。如果显示已送达,则可能是报警脚本有问题或者收件箱设置问题。



文章转载自Linux系统运维笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论