Centos7+Zabbix3.4:邮件监控报警

题记:笔者基于Centos7+Zabbix3.4环境,搭建了邮件监控报警系统。


先介绍一下部署环境:

  1. Centos7.5.1804
  2. Zabbix3.4
  3. MySQL5.7
  4. QQ邮箱(邮件环境)

部署步骤:

一、搭建Zabbix环境(zabbix3.4+MySQL5.7)

这一部分请读者自行搭建,本文不赘述这一块的内容。

二、安装发送邮件必要的包

[root@zabbix ~]# yum -y install mailx
[root@zabbix ~]# rpm -qa | grep mailx
mailx-12.5-19.el7.x86_64

三、编辑配置文件

修改配置文件/etc/mail.rc,在末尾添加如下内容!(如果没有这个文件就新建一个)

set bsdcompat
set from=124000000@qq.com                      #发送预警邮件的邮箱
set smtp=smtp.qq.com                           #QQ邮箱smtp服务器的域名
set smtp-auth-user=124000000@qq.com            #授权用户名,可以设置成与from参数一致
set smtp-auth-password=qvyypqiujutvibcd        #授权码,大多数邮箱不依赖密码授权,而是授权码
set smtp-auth=login                            #授权登录

set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/             #存放QQ邮箱SSL证书的位置

四、获取证书及储存证书

mkdir -p /root/.certs/ 
echo -n | openssl s_client -connect smtp.qq.com | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt 
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt 
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt certutil -L -d /root/.certs
cd /root/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

五、使用命令测试看看是否成功

mail -s "Topic:test" "收件人的邮箱" < "测试内容" >> /dev/null
# 加上>>/dev/null 是为了避免收到证书警告及提示

测试成功!

六、配置zabbix监控项+触发器+邮件动作

1、创建监控项Item和触发器Trigger

创建监控项Items
创建触发器Trigger

2、创建报警媒介类型、动作

创建报警媒介类型

这里使用的是脚本类型的邮件发送方式,通过编写bash脚本,实现邮件的发送。在/usr/lib/zabbix/alertscripts下新建sendmail.sh文件,供报警媒介调用。具体脚本请详见下面代码:

#!/bin/bash
export LANG=en_US.UTF-8
to=$1
subject=$2
messages=$3
echo "$messages" > /tmp/zabbix_sendmail.tmp

dos2unix /tmp/zabbix_sendmail.tmp
mail -s "$subject" "$to" < /tmp/zabbix_sendmail.tmp >> /dev/null
# 最后面加上>>/dev/null是避免证书警告等提示信息
配置动作

 

配置动作中的“操作”

默认标题: Problem: {TRIGGER.NAME}

{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOSTNAME1},IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

配置动作中的“恢复操作”

默认标题:Resolved: {TRIGGER.NAME}

{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOSTNAME1},IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

最后一步,配置用户模块的报警媒介。整体的预警过程是:当监控项Items异常到达了触发器Trigger的阈值时,会触发动作模块,在动作模块中匹配触发器类型、通知用户及通知方式,最终调用报警媒介预警信息!

标题

七、实现效果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值