云服务器 zabbix 配置报警邮件

性能监控 2019-08-10 58 次浏览 次点赞

配置邮件报警功能
1.在 zabbix 服务器上安装 mail 服务 :
yum install mailx -y

问题:could not connect: Connection timed out
“/root/dead.letter” 11/318
. . . message not sent.
分析:阿里云服务器关闭了25端口,发送邮件连接不上服务器的缘故,而且官方不允许打开该端口
一、请求数字证书
依次完成以下命令
mkdir -p /data/.certs/           chmod -R 777 /data                ####创建目录,用来存放证书
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END 
CERTIFICATE-/p' > ~/.certs/qq.crt                    ####向qq请求证书
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt                  ####添加一 
个SSL证书到证书数据库中
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt               ####添加一 
个Global 证书到证书数据库中
certutil -L -d /root/.certs                         ####列出目录下证书

二、配置发件人    注意:邮箱需要打开POP3服务,密码用授权码填写
vi /etc/mail.rc #注意有些邮箱需要开启客户端授权码进行第三方登录
#末尾添加  zabbix 发送告警信息邮箱
set from=xxxxxx@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxxxx@qq.com
set smtp-auth-password=邮箱密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/data/.certs

echo "hello world" | mail -s "testmail" xxxxxx@qq.com   #测试发信正常 去邮箱查看

编写发邮件脚本 :
cd /usr/lib/zabbix/alertscripts
vi mailx.sh //编写发邮件脚本
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1

touch /tmp/mailx.log 
chown -R zabbix.zabbix  /tmp/mailx.log 
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
测试
echo "hello world" | mail -s "testmail" xxxx@qq.com

三、配置web页面
1、创建媒体类型
管理–>报警媒介类型–>创建媒体类型

sendmail
sendmail.sh
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

2、给用户添加报警媒介
此处以Admin用户为例 管理–>用户–>点击Admin –>报警媒介–>添加

3、创建动作
配置–>动作–>Report problems to Zabbix administrators–>操作
创建一个动作名字
告警信息: {TRIGGER.NAME}
告警主机:{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-0,0是表示不限制.无限发送间隔就是默认持续时 
间60秒。那么一个小时,就会发送60封邮件


恢复操作

本文由 laowang 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论