目录
实现步骤:
1、在 zabbix服务端配置邮件发送脚本和修改 zabbix服务端配置文件;
2、在 zabbix前端控制台进行相关设置。
实现目的:
Zabbix 监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。
1.在监控端操作:
安装邮箱服务功能:
yum install mailx -y
//修改配置文件:
[root@localhost ~]# vi /etc/mail.rc
注意:网易邮箱需要开启客户端授权码进行第三方登录
vi /etc/mail.rc
在文件末尾添加:
set from=2431730599@qq.com 自己的QQ邮箱
set smtp=smtp.qq.com
set smtp-auth-user=2431730599@qq.com
set smtp-auth-password=授权码 (QQ邮箱设置>>账户>>生成授权码)
set smtp-auth=login
echo "hello world" | mail -s "testmail" 2431730599@qq.com
编写发邮件脚本:
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts
[root@localhost 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
//创建日志,及赋权:
[root@localhost alertscripts]# touch /tmp/mailx.log
[root@localhost alertscripts]# chown -R zabbix.zabbix /tmp/mailx.log
[root@localhost alertscripts]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
[root@localhost alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix/
//测试发邮件脚本是否可以正常工作:
./mailx.sh 2431730599@qq.com "主题" "内容"
例如:
[root@localhost alertscripts]# ./mailx.sh 2431730599@qq.com "2025" "hello"
如果 QQ邮箱里面看到hello说明没问题
2.web界面部署
接下来,就开始在 web 界面开始部署了:
(1)步骤:
1、管理 -----> 报警媒体类型 -----> 创建媒体类型 ----->
添加以下内容:
名称:Mail-Test
类型:脚本
脚本名称:mailx.sh
脚本参数://新增下面三个参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
2、管理 -----> 用户 -----> 点击Admin -----> 报警媒介:
类型:Mail-Test //调用上面的脚本
收件人:2431730599@qq.com
其它默认-添加
3、配置 -----> 动作 -----> 创建动作 -----> 删除默认标签,修改触发条件
名称:Mailx
条件 A 主机群组=Linux servers
4、操作 -----> 如下配置:
默认操作步骤持续时间 60
默认接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}
默认信息:
告警主机:{HOST.NAME}
告警 IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
5、操作细节:
操作类型:发送消息
发送到用户:Admin (Zabbix Administrator)
仅送到:Mail-Test //一定要配置否则邮件发送不成功
恢复操作:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢复信息:
恢复主机:{HOST.NAME}
恢复IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复 ID:{EVENT.ID}
//操作细节:
操作类型:发送消息
发送到用户:Admin (Zabbix Administrator)
仅送到:Mail-Test //一定要配置否则邮件发送不成功
web界面操作定义都可以完成了
接着,需要重启一下服务:
systemctl restart zabbix-server
systemctl restart zabbix-agent.service
——— 测试:邮箱报警是否有效
(1)先在 web界面中,监控主机上模板中选择一个 Zabbix Agent 选项:
(2)然后,我们在被监控的主机上,手动关闭服务:
[root@localhost ~]# systemctl stop zabbix-agent.service
(3)随后稍微等一下,我的 qq邮箱就会收到报警邮件