使用 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 # 验证邮件接收情况
[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 Web 配置台
创建报警媒介类型
配置 zabbix 中的用户所使用的报警媒介类型以及接收邮件的邮箱
创建动作,也就是发送邮件的动作(相当于触发器)
创建告警操作
- 默认标题
故障{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}
创建恢复操作
开始测试邮件报警
[root@zabbix ~]# yum -y install vsftpd [root@zabbix ~]# systemctl start vsftpd
创建一个图形
关闭 FTP 服务
[root@zabbix ~]# systemctl stop vsftpd
开启 FTP 服务
[root@zabbix ~]# systemctl start vsftpd
三、使用 Zabbix + Grafana 实现图形化展示
Grafana 是跨平台、开源、时序和可视化面板(Dashboard)监控平台工具,通过将采集数据查询后进行可视化的展示,及通知。特点:
- 丰富的可视化显示插件,包括热图、折线图、饼图、表格等。
- 支持多种数据源 Prometheus Zabbix Elasticasearch CloudWatch 等,用于数据的展示。
- 通知提醒,达到目标指定的阈值,进行报警。
- 混合展示,可在同一张图表中,展示不同数据源的数据。适应灵活多变的复杂业务场景。
- 多租户,可以通过多组织构造,分开隔离。保证多机构下,只看到本机构的监控系统数据。
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 插件
添加数据源