在zabbix的使用中,最重要的一点就是完善的报警机制,作为监控平台,需要时刻关注机器和服务的运行状态,更重要的是发现故障之后需要及时的报警给相关人员,早点发现问题,将隐患消除在未然阶段。这样才能保证服务的稳定运行。报警的方式是多种多样的,微信、短信和邮件报警是我们比较常见的方式。

  • 邮件报警的配置主要划分为一下几个步骤:

1.在zabbix服务端配置邮件发送脚本和修改zabbix服务端配置文件;
2.在zabbix前端控制台进行相关设置;

  • 实验环境

Zabbix监控服务器、客户端都已经部署完成,被监控主机已添加完成,Zabbix监控运行正常。
Zabbix监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。

主机 IP 服务
监控端 192.168.200.128 lamp架构、zabbix server、mailx
被监控端 192.168.200.132 zabbix_agentd

  • 在监控端安装

    # yum install mailx -y
    # vi /etc/mail.rc //注意网易邮箱需要开启客户端授权码进行第三方登录
    ----文件末尾新增---
    set [email protected]
    set smtp=smtp.qq.com
    set [email protected]
    set smtp-auth-password=授权码  (QQ邮箱设置>>账户>>生成授权码)
    set smtp-auth=login
    # echo "hello world" | mail -s "testmail" [email protected] //测试发信正常
  • 编写发邮件发送脚本

    # cd /usr/lib/zabbix/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
    
    # 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 [email protected] "主题" "内容"   //测试发邮件脚本是否可以正常工作
  • 在服务器WEB上配置

打开管理==》报警媒体类型==》创建媒体类型

名称:Mail-Test
类型:脚本
脚本名称:mailx.sh
脚本参数://新增以下三个参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

Zabbix监控系统二:配置邮件报警_第1张图片

管理==》用户==》点击主机xxx ==》报警媒介
类型:Mail-Test //调用上面的脚本br/>收件人:[email protected]
其它默认-保存


Zabbix监控系统二:配置邮件报警_第2张图片
Zabbix监控系统二:配置邮件报警_第3张图片

配置==》动作==》创建动作==》删除默认标签,修改触发条件
名称:Mailx
条件 A 主机群组=Linux servers


Zabbix监控系统二:配置邮件报警_第4张图片

操作-》如下配置
默认操作步骤持续时间 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 //一定要配置否则邮件发送不成功

Zabbix监控系统二:配置邮件报警_第5张图片Zabbix监控系统二:配置邮件报警_第6张图片


  • 测试邮箱报警功能

先添加一个监控项(添加zabbix-agent.service用来测试)
systemctl stop zabbix-agent.service //在被监控主机上关闭 测试报警邮件接收

Zabbix监控系统二:配置邮件报警_第7张图片
Zabbix监控系统二:配置邮件报警_第8张图片
Zabbix监控系统二:配置邮件报警_第9张图片
Zabbix监控系统二:配置邮件报警_第10张图片