目录

zabbix邮件报警

1.首先安装mailx组件并配置好能够通过第三方邮箱发送邮件

1)安装mailx

2)编辑mailx 的配置文件

3)测试邮件

2.在zabbix 服务端写邮件发送脚本

 1)编写脚本

2)授权

3)修改主配置文件,让服务读取到这个脚本

4)测试发送脚本

3.页面添加报警媒介

4.指定报警用户

5.设置动作

1)新建动作: Action-Email

2)操作

3)恢复操作

 6.测试,关闭zabbix 客户端服务 zabbix_agentd


zabbix报警邮件

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

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

报警的方式有多种,短信报警、 邮件报警,通过钉钉,QQ等消息报警。

我们使用邮箱报警

1.首先安装mailx组件并配置好能够通过第三方邮箱发送邮件

1)安装mailx

zabbix服务端,通过malix 发送邮件

yum -y install mailx

2)编辑mailx 的配置文件

vim /etc/mail.rc

在文件末尾添加如下信息:

set from   #报警邮件的发信地址
set smtp=smtp.qq.com  #使用的邮件服务器
set smtp-auth-user
set smtp-auth-password=rijpkoyhdwtubbej  # 注意:此为QQ邮箱设置的客户端授权码,授权码是用于登录第三方邮件客户端的专用密码
set smtp-auth=login

不论是使用的163/126邮箱还是qq邮箱,你都必须开通pop3服务,而且163/126/qq邮箱还要求使用第三方客户端发送邮件时必须使用授权码验证

QQ邮箱开启 pop3 服务获取授权验证码:

写自己的客户端授权码

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_客户端

3)测试邮件

echo "zabbix test mail" |mailx -s "zabbix" XXXXX@qq.com

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_发送邮件_02

2.在zabbix 服务端写邮件发送脚本

 1)编写脚本

cd /usr/local/zabbix/share/zabbix/alertscripts/
vim sendmail.sh
#!/bin/bash
 messages=`echo $3 | tr '\r\n' '\n'`
 subject=`echo $2 | tr '\r\n' '\n'`
 echo "${messages}" | mailx -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

2)授权

touch /tmp/sendmail.log
chmod 777 /tmp/sendmail.log
chown zabbix:zabbix sendmail.sh
chmod +x sendmail.sh

3)修改主配置文件,让服务读取到这个脚本

vim /usr/local/zabbix/etc/zabbix_server.conf

添加一行

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

4)测试发送脚本

/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 702661894@qq.com "测试邮件" "测试邮件"

代表的参数是:702661894@qq.com  # 收件人地址

                        "测 试邮件"    #邮件主题

                        "hello  word"    #邮件内容

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_运维_03

3.页面添加报警媒介

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_服务端_04

 我们通过脚本的方式发送邮件,类型选择邮件,脚本名一定不要写错,

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_客户端_05

{ALERT.SENDTO}
 {ALERT.SUBJECT}
 {ALERT.MESSAGE}

 安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的,这是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的

在2.x版本不存在这个问题,默认会传3个参数。

4.指定报警用户

我这里就用zabbix addmin账号登录

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_服务端_06

 

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_服务端_07

 添加完点击更新。

5.设置动作

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_运维_08

1)新建动作: Action-Email

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_服务器_09

2)操作

 

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_服务端_10

 说明:

默认操作步骤持续时间:重新发送报警的时间,当出现报警会每隔一个小时发送一个报警消息

操作细节:重复发邮件几次,1-0次 就是按照默认的时间重复发送,如:1-3发三次报警,0就是一直发送,知道监控数据就解决

步骤持续时间:重发邮件的时间,0为默认的时间,设置则使用步骤持续时间,如:5分钟就是: 5m

发送到用户群组:发送给哪个组(组里的用户都可以收到,前提是用户配置了media type的参数)

发送到用户:发送给那个用户

仅送到:使用那个media type 来发送

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_客户端_11

这里可以配置升级报警,就是1-3次报警发给谁,4-6报警发给谁,间隔多长时间,就是在添加几个,用户或者组不一样,发送的media type也可以不一样 

3)恢复操作

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_服务器_12

 6.测试,关闭zabbix 客户端服务 zabbix_agentd

模拟zabbix客户端服务宕掉:

systemctl stop zabbix_agentd

 延迟比较大,大概要5分钟左右

可以在日志看送达状态:

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_服务器_13

可以看到报警邮件已送达。

在zabbix中实现发送带有链接的邮件告警 zabbix邮件报警配置_服务器_14