配置邮件报警
PS:前提条件你搭建好了一套zabbix监控环境(服务端:zabbix-server 客户端:zabbix-agent 添加主机—>选择模板(可以自定义监控项)—>设定触发器)
(如上步骤如果没有做可以点开博客主页有一篇zabbix4.0安装教程以及添加监控主机)
1.保证yum源正常
1.登陆root帐号
2.cd /etc/yum.repo.d
3.mv CentOS-Base.repo CentOS-Base.repo.bak
4.wget http://mirrors.aliyun.com/repo/Centos-7.repo
5.mv Centos-7.repo CentOS-Base.repo
6.yum clean all
7.yum makecache
8.yum update
2.开启授权码
如何开启客户端授权码?
1.进入 设置—>邮箱设置—>客户端授权密码 设置页面
2.进入授权密码设置页面,可以看到开启授权密码服务选项 。
选择“开启”,即可开始设置授权密码。
开启授权密码服务之后,将无法使用邮箱密码在客户端登录。
弹出弹窗,系统首先需要手机验证,验证为手机服务中的手机号码。
验证成功后,输入授权码密码,授权密码为自定义密码,建议您输入字母+数字的组合密码,提高密码安全强度。
设置成功后,选择您要开启的客户端协议。
点击确定后,设置完成
3.点击确认后将在此页面显示授权密码,
点击“重置”授权密码将被删除,重新设置新的授权码。
设置时间、启用日期分别为添加授权密码时间和首次通过验证的时间。
注意:每个用户可设置1个授权密码。
PS:不想使用关闭即可!
3.YUM安装邮件服务
#yum -y install mailx
#vim /etc/mail.rc
添加到配件中
例如邮箱号:test@163.com
set from=test@163.com smtp=smtp.163.com
set smtp-auth-user=test@163.com smtp-auth-password=授权码
set smtp-auth=login
测试邮件
#echo “zabbix test mail” |mail -s “zabbix” test@163.com
测试发送邮件,标题zabbix,邮件内容:zabbix test mail,发送到的邮箱:test@163.com
4.添加Zabbix服务端邮件发送脚本
#cd /usr/lib/zabbix/alertscripts 进入脚本存放目录
#vim sendmail.sh
#!/bin/sh
echo 'start' >> /tmp/zabbix.log
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1
echo "${messages}" >> /tmp/zabbix.log
echo "end" >> /tmp/zabbix.log
date >> /tmp/zabbix.log
echo '-------------' >> /tmp/zabbix.log
PS:csdn编辑器原因,对比下图
设置脚本所有者为zabbix用户
chown zabbix.zabbix sendmail.sh
chmod 755 sendmail.sh
touch /tmp/zabbix.log
chown zabbix.zabbix /tmp/zabbix.log
设置脚本执行权限
chmod +x sendmail.sh
测试
./sendmail.sh test@163.com zabbixserver message
5.添加报警媒介
点击创建媒体类型
6.添加到用户
7.创建触发器(添加动作)
点击创建动作
主题:
Problem: {EVENT.NAME}故障{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}
邮件报警测试:
例如:监控的是nginx服务的活动连接数(我设置的是大于1000严重报警或者你也可以监控80都是可以的)
登录邮箱进行查看
故障效果图:
恢复效果图:
###注意:到这里邮件报警就算配置成功了!!!