此篇接上篇分布式监控zabbix,详解如何运用zabbix-web端和配置邮件报警。
--------配置邮件报警功能---服务器上配置---------
[www.aa.com@ ~]# yum install mailx -y
[www.aa.com@ ~]# vi /etc/mail.rc //注意网易邮箱需要开启客户端授权码进行第三方登录
----文件末尾新增---
set bsdcompat
set smtp=smtp.163.com
set smtp-auth-password=abc123
set smtp-auth=login
:wq
[www.aa.com@ ~]# echo "ttttttttttt" | mail -s "testmail" [email protected] //测试发信正常
----在浏览器上登陆邮箱,查看是否收到测试邮件------
[www.aa.com@ ~]# cd /usr/lib/zabbix/alertscripts
[www.aa.com@ 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
:wq
[www.aa.com@ alertscripts]# touch /tmp/mailx.log
[www.aa.com@ alertscripts]]# chown -R zabbix.zabbix /tmp/mailx.log
[www.aa.com@ alertscripts]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
[www.aa.com@ alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix/
[www.aa.com@ alertscripts]# ./mailx.sh [email protected] "主题" "内容" //测试发邮件脚本是否可以正常工作
-----在服务器WEB上配置----
管理-》报警媒体类型-》创建媒体类型-》
名称:Mail-Test
类型:脚本
脚本名称:mailx.sh
脚本参数: //新增以下三个参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
管理-用户-点击Admin-报警媒介:
类型:Mail-Test //调用上面的脚本
其它默认-保存
配置-》动作-》创建动作-》删除默认标签,修改触发条件
名称:Mailx
条件 A 主机群组=Linux servers
操作-》如下配置
默认操作步骤持续时间 60
默认接收人 : {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 //一定要配置否则邮件发送不成功
恢复操作:{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 //一定要配置否则邮件发送不成功
[www.aa.com@ alertscripts]# systemctl restart zabbix-server
[www.aa.com@ alertscripts]# systemctl restart zabbix-agent.service
------以下是测试报警-----
可以在被控主机上模拟相关参数超过阈值,如关闭ssh服务。然后验证邮件收发。
[www.ab.com@ ~]# systemctl stop sshd
等待是否收到邮件:
在控制台重新启动sshd服务,查看是否收到恢复邮件:
在被监控主机上关闭 测试报警邮件接收:
[www.ab.com@ ~]# systemctl stop zabbix-agent.service
[www.ab.com@ ~]# systemctl start zabbix-agent.service
---------------以下针对zabbix的web端优化与应用---------------------
优化图表中文乱码:
[www.aa.com@ ~]# vi /usr/share/zabbix/include/defines.inc.php //修正图表中文乱码
:%s /graphfont/kaiti/g //从微软系统下复制相应的字体文件到 /usr/share/zabbix/fonts 目录中注意字体名称要对应配置文件,且注意大小写
:wq
查看优化结果: