设为首页 收藏本站
查看: 1768|回复: 0

[经验分享] zabbix 3.x邮件告警配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-12-6 09:49:36 | 显示全部楼层 |阅读模式
一、SMTP邮件告警1.媒介类型媒介是用于在Zabbix中发送通知和警报的传送通道。
您可以配置多种媒介类型:
E-mail
SMS
Jabber
Ez Texting
自定义警报提示
注意:本次使用E-mail告警的方式,其他的媒介不做配置,建议禁用
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
2.E-mail配置概述
要将电子邮件配置为邮件的传递通道,您需要将电子邮件配置为媒介类型,并为用户分配特定的地址。
配置
要将电子邮件配置为媒介类型:
在 管理 - >媒体类型中设置
点击创建媒介类型 (或者点击预定义媒介类型的列表中的E-mail).
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
说明:
1、本次采用SMTP邮件协议
2、采用腾讯企业公共邮箱,端口采用465,告警邮箱地址为alert@chucloud.com.cn
3、需要输入告警邮箱的账户,密码,采用认证方式进行
4、SMTP HELO需要输入腾讯企业邮箱的域名smtp.exmail.qq.com
5、安全连接采用SSL/TLS
详细的官方说明如下所示:
媒介类型属性:
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
3、动作只有在事件与定义的条件匹配的情况下才执行操作。 配置action时设置条件.
可以为基于触发的动作设置以下条件:
详细的动作说明请参考官方文档说明:https://www.zabbix.com/documentation/3.4/zh/manual/config/notifications/action/conditions
本次采用简单的动作配置,如下所示:
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
详细配置如下:
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
说明:
1、条件A 维护状态非在维护,意思是说只有在非维护的情况下发送告警邮件
2、条件B,触发器竟是度>=告警,意思是只有警告的级别处于警告或这警告以上的使用,才触发邮件告警
3.1操作您可以为所有事件定义以下操作:
发送信息
执行远程命令 (包括 IPMI)
对于发现事件,还有其他操作可用:
添加主机
删除主机
启用主机
禁用主机
添加到群组
从组中删除
链接到模板
取消与模板的链接
设置主机库存模式
本次操作只配置发送消息。如下所示
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
说明:
1、操作细节,即邮件告警信息发送到指定用户邮箱
2、默认信息,由于默认的信息不够全面,建议按照如下配置
故障{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}3.2恢复操作恢复操作允许在问题解决时通知您。
恢复操作支持消息和远程命令。恢复操作不支持升级 - 所有操作都分配到一个步骤。
恢复操作的一些用例如下:
通知所有通知有关问题的用户
选择“发送恢复消息”作为操作类型
恢复时有多个操作:发送通知并执行远程命令
添加发送消息和执行命令的操作类型
在外部帮助台/票务系统中打开机票,并在问题解决时将其关闭
创建一个与帮助台系统通信的外部脚本
创建一个操作,该操作具有执行此脚本的操作,从而打开一张票据
恢复操作,使用其他参数执行此脚本并关闭故障单
使用{EVENT.ID}宏来引用原始问题
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
同样的,原有默认信息不够全面,建议按照如下进行调整
恢复{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.配置用户邮箱需要在ZABBIX上配置用户和用户邮箱,这样一旦发生警报,zabbix可以发送邮件指定的联系人
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
5.效果验证一旦发生警报,自动发送邮件
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
二、调用第三方告警平台这里推荐使用iyunv,设置比较简单,但是免费版每月邮件上限为300.
官网注册账号配置中添加应用
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
创建获取key watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
系统会自动生成一键安装脚本 watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=.jpg
登录到zabbix server服务器,安装脚本运行就可以了。
三、通过脚本实现告警
在zabbix配置文件中查找脚本目录

[iyunv@zabbix-server zabbix]# grep 'AlertScriptsPath' zabbix_server.conf
###Option: AlertScriptsPath
AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts

在/usr/lib/zabbix/alertscripts目录下创建发邮件脚本sendmail_zabbix.py

[iyunv@zabbix-server alertscripts]# cat sendmail_zabbix.py
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import parseaddr, formataddr
import sys
def formatAddr(s):
    name, addr = parseaddr(s)
    return formataddr((Header(name, 'utf-8').encode(), addr))
def send_mail(to_list,subject,content):
    mail_host = 'smtp.exmail.qq.com'
    mail_user = 'xxxxxxxxxxx'
    mail_pass = 'xxxxxxxxxxx'
    #以上内容根据你的实际情况进行修改
    msg = MIMEText(content,'plain','utf-8')
    msg['Subject'] = Header(subject, 'utf-8').encode()
    msg['From'] = formatAddr('zabbix监控 <%s>' % mail_user).encode()
    msg['to'] = to_list
    try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pass)
        s.sendmail(mail_user,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])

配置脚本权限

chmod +x sendmail_zabbix.py
chown zabbix.zabbix sendmail_zabbix.py

创建报警媒介

重点是添加三个参数
{ALERT.SENDTO}收件人地址
{ALERT.SUBJECT}主题
{ALERT.MESSAGE}详细内容
优化报警内容


配置告警内容
故障{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}



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421094-1-1.html 上篇帖子: zabbix怎么监控Cisco的交换机 下篇帖子: zabbix监控系统的介绍及zabbix监控系统的高级应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表