文章目录
- 一、环境说明
- 二、第三方邮箱告警
- 2.1 开启第三方邮箱SMTP服务
- 2.2 配置用户媒介
- 2.3 定义媒介类型
- 2.4 配置告警方式和动作
- 2.5 触发告警,测试效果
- 三、本地邮箱+脚本
- 3.1 服务端设置脚本
- 3.2 设置用户媒介
- 3.3 定义媒介类型
- 3.4 配置告警方式动作
- 3.4 触发告警,测试效果
- 四、第三方邮箱+脚本告警
- 4.1 修改配置文件
- 4.2 写脚本
- 4.3 定义媒介
- 4.4 定义媒介类型
- 4.5 配置告警方式和动作
- 4.6 触发警告,测试效果
一、环境说明
- 告警方式很多,比如企业微信告警、短信告警、电话告警,前者需要花钱来做,后者需要开发人员介入,所以这里就只讲邮箱告警。
- 邮箱告警方式有三种,本地邮箱告警、第三方邮箱告警、第三方邮箱+脚本告警。
- 当客户端出现告警,服务端会发送邮件给用户。
环境 | IP | 要安装的应用 |
---|---|---|
服务端 | 192.168.130.160 | lamp架构 zabbix server zabbix agent postfix、mailx |
客户端 | 192.168.130.161 | zabbix agent |
1.在服务端安装postfix来启动25端口。
yum -y install postfix
//设置开机自动启动。
systemctl enable --now postfix
2.服务端安装mailx。
yum -y install mailx
3.设置服务端主机名称,需与zabbix相关。
hostnamectl set-hostname zabbix.example.com
4.若是使用qq邮箱,需要进入反垃圾设置域名白名单,防止接收不到信息。
二、第三方邮箱告警
- 需要使用2个个人邮箱,一个充当zabbix服务端去发送邮件,一个充当用户收取告警信息。
- 我这里使用163邮箱作为第三方邮箱去发送邮件,使用outlook邮箱接收邮件。
配置步骤:
- 若使用的是126邮箱,需要开启smtp功能生成授权码,授权码就是在zabbix的web界面中配置的发件箱的发送邮件的密码。
- zabbix管理界面配置用户媒介,添加收件人邮箱、发送媒介类型、发送告警信息级别等等。
- zabbix管理界面定义媒介类型。
- zabbix管理界面配置告警动作action,给组发还是给用户发,发的时候要选择发的方式。
- 客户端触发告警并验证。
2.1 开启第三方邮箱SMTP服务
- 开启过程中,会给你一个授权码,该授权码需要记下来,后面会用到。
2.2 配置用户媒介
- 使用email类型,指定使用哪个邮箱接收信息。
2.3 定义媒介类型
2.4 配置告警方式和动作
2.5 触发告警,测试效果
1.客户端触发告警。
echo 'hahha' >> /opt/qingjun.txt
2.仪表盘出现告警信息。
3.查看收件箱。
三、本地邮箱+脚本
配置流程:
- 在/usr/local/share/zabbix/alertscripts/创建一个脚本,并添加执行权限,设置目录属主属组为zabbix。
- zabbix管理界面配置用户、配置媒介、配置动作。
- 客户端触发并验证。
3.1 服务端设置脚本
vim /usr/local/share/zabbix/alertscripts/qingjun.sh
#!/bin/bash
message=$(echo $1|tr '\r\n' '\n')
subject=$(echo $2|tr '\r\n' '\n')
echo "$message" | /usr/bin/mail -s "$subject" $3
//设置脚本权限。
chmod +x /usr/local/share/zabbix/alertscripts/qingjun.sh
chown -R zabbix.zabbix /usr/local/share/zabbix/alertscripts
3.2 设置用户媒介
1.换成qq邮箱接收邮件。
3.3 定义媒介类型
3.4 配置告警方式动作
1.参考上文。
3.4 触发告警,测试效果
1.客户端触发告警。
echo 'hahha' >> /opt/qingjun.txt
2.查看qq邮箱。
四、第三方邮箱+脚本告警
4.1 修改配置文件
1.往/etc/mail.rc文件里添加以下内容
[root@zabbix alertscripts]# tail -5 /etc/mail.rc
set from=maqiang988198@163.com //发件人。
set smtp=smtp.163.com //收件邮箱服务。
set smtp-auth-user=maqiang988198@163.com //发件人。
set smtp-auth-password=HOEGMRJRZWIMWBKM //发件邮箱授权码。
set smtp-auth=login
4.2 写脚本
1.与上文写的脚本相同
4.3 定义媒介
1.与上文相同
4.4 定义媒介类型
1.与上文相同
4.5 配置告警方式和动作
1.与上文相同
4.6 触发警告,测试效果
1.客户端触发告警。
echo 'hahha' >> /opt/qingjun.txt
2.查看邮箱。