使用 Zabbix 实现邮件自动报警

  • 一、安装邮件服务
  • 二、登录 Zabbix Web 配置台
  • 三、使用 Zabbix + Grafana 实现图形化展示
  • 1.安装并配置 Grafana
  • 2.配置 Grafana 的 Web 界面


一、安装邮件服务

  • 注意:如果未安装 Zabbix,需看:分布式部署 Zabbix 监控平台 来进行安装。
[root@zabbix ~]# yum -y install mailx dos2unix
[root@zabbix ~]# vim /etc/mail.rc
set from=2085077346@qq.com smtp=smtp.qq.com
set smtp-auth-user=2085077346@qq.com smtp-auth-password=paaohnjdhomabcde
set smtp-auth=login
[root@zabbix ~]# echo "Hello Worker" | mail -s "Test" 2085077346@qq.com						# 验证邮件接收情况

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_普罗米修斯

[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
[root@zabbix ~]# vim /usr/local/zabbix/share/zabbix/alertscripts/1.sh
#!/bin/bash
#export.UTF-8
title=$2														# 邮件标题
sendto=$1														# 发送给谁
FILE=/tmp/mailtmp.txt
echo "$3" > $FILE
/usr/bin/dos2unix -k $FILE
/bin/mail -s "$title" "$sendto" < $FILE
[root@zabbix ~]# chmod 777 /usr/local/zabbix/share/zabbix/alertscripts/1.sh
[root@zabbix ~]# chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/1.sh
[root@zabbix ~]# touch /tmp/mailtmp.txt
[root@zabbix ~]# chmod 777 /tmp/mailtmp.txt 
[root@zabbix ~]# chown zabbix:zabbix /tmp/mailtmp.txt
[root@zabbix ~]# /usr/local/zabbix/share/zabbix/alertscripts/1.sh 2085077346@qq.com "Test" "This is Email Alert"
dos2unix: converting file /tmp/mailtmp.txt to Unix format ...

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_CentOS_02

二、登录 Zabbix Web 配置台

创建报警媒介类型

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_CentOS_03


配置 zabbix 中的用户所使用的报警媒介类型以及接收邮件的邮箱

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_运维_04


创建动作,也就是发送邮件的动作(相当于触发器)

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Zabbix 自定义监控_05


创建告警操作

  • 默认标题
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
  • 消息内容
告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Grafana_06


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Zabbix 自定义监控_07


创建恢复操作

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_CentOS_08


开始测试邮件报警

[root@zabbix ~]# yum -y install vsftpd
[root@zabbix ~]# systemctl start vsftpd

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Zabbix 自定义监控_09


创建一个图形

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Zabbix 自定义监控_10


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Grafana_11


关闭 FTP 服务

[root@zabbix ~]# systemctl stop vsftpd

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Grafana_12


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_CentOS_13


开启 FTP 服务

[root@zabbix ~]# systemctl start vsftpd

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Zabbix 自定义监控_14

三、使用 Zabbix + Grafana 实现图形化展示

Grafana 是跨平台、开源、时序和可视化面板(Dashboard)监控平台工具,通过将采集数据查询后进行可视化的展示,及通知。特点:

  1. 丰富的可视化显示插件,包括热图、折线图、饼图、表格等。
  2. 支持多种数据源 Prometheus Zabbix Elasticasearch CloudWatch 等,用于数据的展示。
  3. 通知提醒,达到目标指定的阈值,进行报警。
  4. 混合展示,可在同一张图表中,展示不同数据源的数据。适应灵活多变的复杂业务场景。
  5. 多租户,可以通过多组织构造,分开隔离。保证多机构下,只看到本机构的监控系统数据。

1.安装并配置 Grafana

[root@zabbix ~]# wget https://dl.grafana.com/oss/release/grafana-6.1.4-1.x86_64.rpm
[root@zabbix ~]# yum -y install fontconfig freetype* urw-fonts
[root@zabbix ~]# grafana-cli plugins install alexanderzobnin-zabbix-app							# 安装 Zabbix 插件
[root@zabbix ~]# mkdir -p /opt/grafana/data/plugins/
[root@zabbix ~]# cp -r /var/lib/grafana/plugins/alexanderzobnin-zabbix-app/ /opt/grafana/data/plugins/
[root@server ~]# chmod -R 777 /opt/grafana/data/plugins/
[root@server ~]# systemctl start grafana-server
[root@server ~]# netstat -anpt | grep 3000

2.配置 Grafana 的 Web 界面

使用浏览器访问:http://192.168.1.1/3000

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_运维_15


启动 Zabbix 插件

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Grafana_16


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_CentOS_17


添加数据源

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_普罗米修斯_18


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Grafana_19

zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_CentOS_20


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Grafana_21


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_Grafana_22


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_普罗米修斯_23


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_运维_24


zabbix报警信息实时提取并存储自建数据表 zabbix报警自动处理_CentOS_25