• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Zabbix配置邮件报警

Zabbix 彭东稳 8年前 (2016-09-30) 33756次浏览 已收录 0个评论

一、报警通知媒介介绍

当我们给一个已存在的item定义了一个触发器后,当这个触发器产生作用时,也需要以某种方式通知管理员,而这个通知管理的方式我们称之为媒介。在zabbix中提供了如下几种报警媒介:

1)email:报警信息使用自带的sendmail发送邮件,从这边出去的邮件基本是垃圾邮件。

2)script:自定义脚本,把报警信息传递给脚本,调用脚本进行告警发送、脚本中可以定义邮件、飞信发短信、调用短信接口发送短信等等。

3)sms短信网关(用得比较少):服务器安装串口GSM短信猫。

4)ez texting:Ez Texting是zabbix的技术合作伙伴,主要提供短信服务,用手机注册账号,便可以使用它来发送短信了,不过他只支持美国和加拿大的手机号码,并且应该是收费的,没有美国/加拿大手机号码的朋友请绕行。

5)jabber:Jabber有第三方插件,能让Jabber用户和MSN、YahooMessager、ICQ等IM用户相互通讯。因为Google遵从Jabber协议,并且Google已经将Gtalk的服务器开放给了其它的Jabber服务器。所以PSI、Giam等Jabber客户端软件支持GTalk用户登陆,国内没啥人用。

Zabbix报警通知流程:

首先我们需要定义一种报警发送方式,也就是选择一种媒介。

然后就是对此媒介进行action配置,action由action(动作)和conditions(条件)以及operations(操作)组成。比如报警媒介选择email,那么action就是用来配置邮件报警和恢复时的内容,以及邮件发送的满足条件等等。

最后就是把此媒介对应到用户和用户邮箱,使之生效。

二、配置使用email报警媒介

第一步:配置email报警媒介

报警信息将会使用系统自带的sendmail发送,配置比较简单。

AdministrationMedia types->Click on Create media type

以下是zabbix媒介的默认配置,使用zabbix系统本地的邮件系统,默认是Postfix邮件系统。

Zabbix配置邮件报警

name:媒介名称,在用户选择报警媒介时用到,具有唯一性。

type:选择报警媒介email

smtp server:设置smtp服务器,默认使用本地postfix邮件系统。

Smtp server port:设置smtp服务器的端口,默认是25

smtp helosmtp helo值,通常情况下是顶级域名就行。

smtp email:设置发件人地址,这个邮件地址会显示到收件人的From里。

Connection security:是否使用安全连接。

Authentication:是否启用密码认证,如果你使用公网邮件系统,一般都是需要输入用户名和密码的,如果你是使用zabbix本机邮件系统发送邮件可以不需要。

Username:输入用户名。

Password:输入密码。

下图是一个使用163邮箱作为发件的配置,需要设置163服务器的smtp地址,设置你的163邮件,以及最后需要设置你的163邮箱账号和密码即可。

Zabbix配置邮件报警

第二步:配置action报警机制

配置zabbix报警也就是zabbixaction配置,action支持如下source event(事件源):

触发器事件(triggers):触发器状态在OK和PROBLEM之间变化。

自动发现事件(discovery):用来定义监控模板中自动发现后采取的动作。

自动注册事件(auto registration):客户端自动注册到zabbix服务器。

内部事件(internal):item转变为unsupported状态,触发器转变为unknown状态。

这里我们只需要关注action中的triggers事件,zabbix提供了一个默认的triggers事件,已经定义好了默认邮件发送内容,如下图:

Zabbix配置邮件报警

看一下这个事件内容:Report problems to Zabbix administrators,就是说所有有问题的trigger都会走这个action进行邮件发送通知。

动作(Action)配置

Zabbix配置邮件报警

常用报警信息可以有如下选择:

告警主机:{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}

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

告警信息: {TRIGGER.NAME}

当前值: {ITEM.VALUE}

条件(Conditions)配置

Zabbix配置邮件报警

Type Of calculation:各种条件之间的关系,包含ANDOR 以及AND/OR,如上图是AND关系,同时要满足以上机器不在维护状态以及触发器值为PROBLEM才会触发报警的动作。

操作(Operations)配置

Zabbix配置邮件报警

其中默认操作步骤持续时间默认为3600秒,跟步骤是对应的,可调。

默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行报警邮件给zabbix administrator组的所有用户。假如默认的故障持续时间为1个小时,也就是说1小时内它也只发送一次报警。如果改成1-0,0是表示不限制,无限发送,间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。如果需要短信报警的话,可以再创建一条新的动作,选择短信脚本。

第三步:配置用户媒介

首先设置完报警发送媒介后,然后配置一下报警触发的动作,最后就是就是把报警发送媒介添加到用户Media上面应用,操作如下:

Administration–>Users–>Media–>Add

Zabbix配置邮件报警

type:选择媒介类型,这里选择上面刚刚定义的默认媒介,注意选择上面媒介就会以此媒介发送报警信息。

send to:发送到那个邮件。

when active:报警事件时间设置,默认是7×24

use if serverity:设置报警接收的严重性类型,只接收指定的类型,例如info不想接收,那我不勾选即可。

Enable:开启即可生效。

做完以上步骤后,就可以关闭一下zabbix服务器的agent,就可以收邮件了。

Zabbix配置邮件报警

当然,当报警恢复后,我们也能收到恢复后的报警邮件。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (6)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!