简介   

     Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案了,zabbix的报警不仅仅局限于邮件,当然也有很多其他的报警后方式。50台以下的邮件报警绰绰有余,100台服务器以上建议短信报警或者微信更甚至直接接通音响,那个时候邮件报警已经不能满足于现有的需求。下面我们来介绍在linux中Zabbix邮件报警设置配置步骤,希望例子能帮助到各位。

说明:

    Zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。

实现目的:

    在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。

参考文档:

zabbix中文社区:

zabbix官方文档:

酷喃官方博客:

安装软件包:

yum install mail

一、设置mailx账号:

linux可以通过自带的mail实现发送外部smtp邮件,更具体的可以参考“
1、 设置mailx账号,建议用163的邮箱。如果换成QQ邮箱会出现无法发送,估计是QQ邮箱哪里做了限制

# cat /etc/mail.rc  //内容如下set from=18739897210@163.comset smtp=smtp.163.comset smtp-auth-user=18739897210@163.comset smtp-auth-password=xxxxxxset smtp-auth=login

2.测试发送邮件,看18739897210@163.com有没有收到来自18739897210@163.com的邮件.

#echo  hello word | mail -s 'hhhh'  18739897210@163.com

#确认收到邮件即可。

二、zabbix服务器端编写邮件发送脚本

1.修改zabbix_server.conf配置文件,指定zabbix

# vim /usr/local/zabbix/etc/zabbix_server.conf  //修改alert scripts为以下路径AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

 

2.创建邮件发送脚本

# vim /usr/local/zabbix/share/zabbix/alertscripts/mail.sh  //以下为脚本内容#!/bin/bashecho "$3" | mail -s "$2" "$1"

3. 更改属主及赋予可执行权限

# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/mail.sh# chmod +x /usr/local/zabbix/share/zabbix/alertscripts/mail.sh

三、zabbix后台配置shell邮件告警方式
Administration|Media types,进入告警方式配置界面,创建sendmail.sh告警方式,如下图

name随便写这里就写zabbix_mail;type选择scripts;Script name则输入上一步编写的脚本名称,即mail.sh

四、添加配置用户的邮箱地址
Administration|Users,进入用户配置界面,创建用户并在”Media”选项卡中配置用户接收告警的邮箱地址。点击”Add”,在弹出的窗口中输入用户邮箱,见下图:

(1)首先创建一个新用户作为测试接受邮件的账户。

(2)配置么media,此用户接受报警的媒介。

(3)用户的属组一定要为administartor组,不然很有可能收不到邮件。

五、定义action
Configuration|Action,Event source选择triggers,我这边是修改已有的Actions,具体如下

(1)创建一个新的报警触发器

(2)报警规则,每次发一封,发10次,每次间隔300秒

六、重启zabbix_server,测试配置的邮件报警是否成功。