zabbix3.0.9邮件告警

一、先安装设置mailx发送邮件的账号

yum -y install mailx

ln -s /bin/mailx /bin/mail

配置发送帐号 密码

cat /etc/mail.rc  //内容如下
set from=123456@126.com
set smtp=smtp.126.com
set smtp-auth-user=123456@126.com
set smtp-auth-password=123456
set smtp-auth=login

 

 发送邮件测试;测试是否能正常发送邮件。

echo  test | mail -s " test"   136×××@126.com
 
 
查看zabbix服务器发送脚本配置
进入zabbix的安装目录
[root@localhost ~]# cd /usr/local/zabbix/etc/
 
vim zabbix_server.conf

找到AlertScriptsPath选项,可以自定义位置;新增自定义的脚本位置 增加 AlertScriptsPath=/usr/local/zabbix/alertscripts

如图

### Option: AlertScriptsPath
#       Full path to location of custom alert scripts.
#       Default depends on compilation options.
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/zabbix/alertscripts

 

编写自定义发送邮件的脚本:

mkdir /usr/local/zabbix/alertscripts/

cd /usr/local/zabbix/alertscripts/

vim sendEmail.sh

脚本的内容如下:

#!/bin/bash
#zabbix邮件告警脚本
#auth:zhangyong
#time:2017-03-21
#Version:V1.0

mail=$1
title=$2
message=$3

echo "${message}" | /usr/bin/iconv -t GB2312 -f UTF-8 | mailx -s "${title}" ${mail} >> /tmp/mailx.log 2>&1

exit $?

 

测试邮件

[root@localhost etc]# /usr/local/zabbix/alertscripts/sendmail.sh zhangyong@dozengame.com "测试邮件标题" "测试邮件内容"

 

zabbix 页面配置

 进入zabbix web配置页面。 管理---报警媒介类型

点击右上角 新增一个报警类型 sedMail

 

sedMail的内容如下图;下面的三个参数一定要加上去。 点击添加-然后单击框内能显示 脚本参数 让你选择。

 

解释:很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。 那是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。
在2.x版本不存在这个问题,默认会传3个参数。

 

 

点击管理--用户  新增一个用户

添加报警媒介  类型选择刚才的 sendmail;填写用户收件箱,接收邮件的时间。

如下图  一定要选刚才定义好的报警类型,要不然邮件发送不出去。

 

 权限 全部都添加

 

 

 配置邮件发送的动作。

点击配置---动作。新增 或者修改原来的

 

 

 

修改默认信息为发送中文

 

 

 修改动作 发送的内容为中文 默认与恢复一样

告警主机:{HOSTNAME1}

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

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

 

 

点击操作 指定发送的用户;还有报警媒介。如下图:

解释:
默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。

后面的1表示你要发送多少封邮件。

假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送

间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。
如果需要短信报警的话,可以再创建一条新的动作,选择短信脚本。

点击报表->动作日志 可以看到触发动作的次数。只会有3次,除非test主机状态改变,也就是正常的时候,会触发一次,否则不会再触发。

 

到此邮件发送报警配置完毕;可以去被监控的主机stop 掉 zabbix_agnd 测试。

# 在机房的服务器上部署了一套 zabbix;配置各种都没有问题。邮件在命令行下也能测试发送;但是zabbix 告警的邮件硬是收不到。

折腾了一天;发现了一篇博客文章,按此设置又可以。

http://blog.csdn.net/fgf00/article/details/50583256 

 
posted @ 2017-05-16 19:00  会飞的鱼·  阅读(2196)  评论(1编辑  收藏  举报