上篇文章讲解了Zabbix的安装与配置,这篇文章继续讲解如何配置邮件报警机制:当被监控的主机出现问题时会及时地给管理员发送邮件,及时地通知运维人员。
在此之前zabbix服务端和客户端都已经配置好了,并且加入了监控项。
一,在监控主机上进行配置
1,使用yum安装mailx邮箱服务
yum install mailx -y
2,编辑配置文件,在末行加入以下配置
vi /etc/mail.rc //注意网易,QQ邮箱需要开启客户端授权码进行第三方登录
set from=18739892385@139.com
set smtp=smtp.139.com
set smtp-auth-user=18739892385@139.com
set smtp-auth-password=邮箱密码 //如果是网易,QQ等邮箱,此处应填写授权码
set smtp-auth=login
3,尝试发送一封邮件,检验139邮箱是否能够接受
echo "hello world" | mail -s "testmail" 18739892385@139.com
4,编写发邮件脚本
cd /usr/lib/zabbix/alertscripts
vim 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
5,赋予权限,并测试脚本
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/
./mailx.sh 18739892385@139.com "mail" "zabbix service" //测试发邮件脚本是否可以正常工作
二,在浏览器上进行配置
1,打开管理==》报警媒体类型==》创建媒体类型
名称:mail-test
类型:脚本
脚本名称:mailx.sh
脚本参数://新增以下三个参数
{ALERT.SENDTO}
{ALERT.SUBJECT}{ALERT.MESSAGE}
2,接下来需要指定使用者,并进行相关设置
管理--》用户----》点击主机xxx----》报警媒介
类型:mail-test //调用上面的脚本收件人:18739892385@139.com
其他保持默认设置
3,再进行动作定义
配置==》动作==》创建动作==》删除默认标签,修改触发条件
名称:mailx
条件 A 主机群组=Linux servers
5,最后测试邮箱报警
步骤如下:
(1)添加被监控主机的监控项httpd服务,在被监控端下载并开启httpd服务
(2)模拟故障:然后关闭httpd服务
(3)查看是否受到报警邮件
(4)模拟故障解除:再开启httpd服务
(5)查看是否收到恢复邮件
添加监控项httpd服务
关闭httpd服务后,检测页面出现告警信息
接着139邮箱收到告警邮件
恢复httpd服务后,会收到恢复信息