在Zabbix的使用中,最重要的一点就是完善的报警机制,作为监控平台,需要时刻关注机器和服务的运行状态,更重要的是发现故障之后需要及时的报警给相关人员,早点发现问题,将隐患消除在未然阶段。这样才能保证服务的稳定运行。

可以在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到设定的触发器预设值时,不管任何时候,会自动发送报警邮件、微信信息到指定的人员,运维人员收到信息有利于第一时间解决故障

报警的方式是多种多样的,微信、短信和邮件报警是我们比较常见的方式。而且报警的频率和策略直接影响着运维人员的重视程度和检错效率。如果整个报警列表中都是一些无关痛痒的提示、轻度警告。而他们的发送频率又特别的高,则非常容易错过真正关键的报警。

报警涉及的触发器(trigger)一般包括以下几个方面:

(1)服务器的基本状态:磁盘容量、内存大小、cpu的负载;

(2)基础服务状态:web服务器(nginx、apache)的状态,数据库的状态(mysql、oracle、nosql等);

(3)应用服务器状态:应用服务器的可用性以及负载状态。

邮件报警的配置主要划分为以下几个步骤:

1)管理–用户–创建媒介类型,设置邮件服务器信息

Zabbix监控之邮件报警_服务器

Zabbix监控之邮件报警_触发器_02

2)配置接收邮箱用户,管理–用户–Admin–报警媒介–添加(根据实际需求改成自己的接收人)

Zabbix监控之邮件报警_服务器_03

Zabbix监控之邮件报警_bc_04

3)添加触发报警设置,配置–动作–创建动作(触发器),设置动作、操作、恢复操作

配置动作:输入名称、定义条件

Zabbix监控之邮件报警_服务器_05

配置操作:配置报警时间、接收人、接受信息、发送消息用户、发送报警次数

Zabbix监控之邮件报警_服务器_06

配置恢复操作:配置接收人、信息、通知人

Zabbix监控之邮件报警_bc_07

报警邮件标题可以使用默认信息,也可使用如下中文报警内容:

名称:zabbix邮件报警

默认标题:故障{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监控之邮件报警_服务器_08

4)邮件报警测试,测试条件为boot(大小500M)目录写入大文件(400M文件及以上),达到触发器值(默认低于百分之20),如图

Zabbix监控之邮件报警_服务器_09

5)发送邮件显示失败,会提示Support for SMTP authentication was not compiled in(由于zabbix对libcrul版本(centos6.x默认7.19)要求,需要更新至7.2+)

Zabbix监控之邮件报警_bc_10

6)升级libcurl方法

#下载扩展源

[root@localhost ~]# wget -c https://mirrors.yangxingzhen.com/el6/city-fan.org-release-2-1.rhel6.noarch.rpm

[root@localhost ~]# rpm -ivh city-fan.org-release-2-1.rhel6.noarch.rpm

#升级libcurl

[root@localhost ~]# yum -y install epel-release

[root@localhost ~]# yum -y upgrade libcurl

#查看libcurl版本

Zabbix监控之邮件报警_bc_11

#升级完成~~~

7)发现还是发送不了邮件,需要重新源码编译安装zabbix_server

[root@localhost ~]# cd /root/zabbix-3.2.9

[root@localhost zabbix-3.2.9]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl

[root@localhost zabbix-3.2.9]# make && make install

#重启zabbix_server

[root@localhost zabbix-3.2.9]# service zabbix_server restart

8)查看发送状态

Zabbix监控之邮件报警_触发器_12

9)查看恢复状态

Zabbix监控之邮件报警_触发器_13

Zabbix监控之邮件报警_bc_14

#邮件报警部署完成~~~~