
一、告警分类
| 报警方式 | 企业应用场景 |
|---|---|
| 发邮件 | 企业邮箱,免费使用 |
| 企业微信-告警应用(机器人) | 需要使用企业微信,免费 |
| OA系统( 钉钉,飞鸽,…) | 与阿里云,免费 |
| 短信 | 0.045元/条左右 (阿里云短信服务) 收费 |
| 电话 | 收费 |
| 第三方报警工具/平台: onealert (省事) | 只需要配置onealert的平台信息,免费使用(限制),收费 |
二、邮件告警
2.1 个人邮箱准备
1、登录https://mail.163.com/邮箱
2、开启smtp服务
![图片[2]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/6472fd41233a_image53.png)
![图片[3]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/8123c9f46bb8_image54.png)
3、根据提示获取授权码JDMRDYBSNAFDAOWO
![图片[4]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/01239b9524c0_image55.png)
2.2 配置发件人
1、配置报警媒介
(1)关闭所有的报警媒介类型
![图片[5]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/442fa1b186d0_image56.png)
(2)创建新的媒体类型
![图片[6]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/e695444675cd_image57.png)
创建Message templates
#设置报警信息
信息类型是: 问题
主题: 故障名称: {EVENT.NAME}
消息:
故障始于 时间: {EVENT.TIME} 日期: {EVENT.DATE}
故障名称: {EVENT.NAME}
故障主机: {HOST.NAME}
严重程度: {EVENT.SEVERITY}
额外信息: {EVENT.OPDATA}
故障ID: {EVENT.ID}
触发器地址: {TRIGGER.URL}
#设置故障解决信息
信息类型是: Problem recovery
主题: 故障解决 in {EVENT.DURATION}: {EVENT.NAME}
消息:
故障已经解决 时间: {EVENT.RECOVERY.TIME} 日期: {EVENT.RECOVERY.DATE}
故障名称: {EVENT.NAME}
故障持续时间: {EVENT.DURATION}
故障主机: {HOST.NAME}
故障级别: {EVENT.SEVERITY}
故障ID: {EVENT.ID}
{TRIGGER.URL}
![图片[7]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/8c2fb3572fc9_image58.png)
![图片[8]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/ffd7bfc87376_image59.png)
(3)添加报警媒介类型
![图片[9]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/c670a8a0bfd7_image60.png)
2、测试发件是否正常
![图片[10]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/8947021c949c_image61.png)
![图片[11]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/6cceea75c386_image62.png)
登录qq邮箱进行查看
![图片[12]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/7fafa4acc04e_image63.png)
2.3 配置收件人
本质:zbx的用户、用户组。
对所有人员进行分组
-
运维组 : 1904763431@qq.com
-
开发组:1904763431kaifa@qq.com
添加收件人信息
![图片[13]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/ac19e703c603_image64.png)
![图片[14]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/b29c7b77d337_image65.png)
![图片[15]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/256354c48075_image66.png)
2.4 配置发送邮件的动作/条件
1、启动触发器动作
![图片[16]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/8166761122cb_image67.png)
![图片[17]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/e8d7107d2a9c_image68.png)
2、查看结果
![图片[18]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/16dc12c56e78_image69.png)
3、模拟报警
(1)在zabbix-client02主机上关闭nginx后,重新查看仪表板
| [root@zabbix-client02 ~]# systemctl stop nginx |
|---|
![图片[19]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/164286535d68_image70.png)
查看邮箱
![图片[20]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/fc278dc56544_image71.png)
(2)在zabbix-client02主机上重新开启nginx后,重新查看仪表板
| [root@zabbix-client02 ~]# systemctl start nginx |
|---|
![图片[21]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/443ba8508333_image72.png)
查看邮箱
![图片[22]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/a98e60c80e4e_image73.png)
三、微信告警
3.1 全流程
微信报警,短信,电话,钉钉 自定义脚本报警
通过脚本(py,shell),调用对方api接口(输入接口需要的信息,访问与使用api接口)
1、申请注册企业微信
2、获取企业微信id和告警机器人id和secret
3、使用脚本(shell/python)调用企业微信api接口: python 输入收件人 信息
4、发件人: 报警媒介(告警机器人)
5、收件人: 个人 媒体类型
6、动作: 已经完成
3.2 环境准备
3.2 企业微信注册
参考企业微信注册8步走,建议收藏 – 知乎 (zhihu.com)
3.2 企业微信设置白名单
1、开通企业邮箱
参考【教程】如何创建属于自己的域名邮箱(附阿里邮箱个人版pop设置)_自定义邮箱域名-CSDN博客
需要配置MX记录
![图片[23]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/13a6e2a38a72_image74.png)
配置完成后,点击【协作】-【邮件】-【概况】进行邮箱域名查看
![图片[24]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/96f608f6e230_image75.png)
2、创建机器人
点击【应用管理】-【应用】-【创建应用】
![图片[25]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/1d6aad4a679a_image76.png)
填写应用名称、添加Logo、选择可见范围,点击【创建应用】
![图片[26]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/e2082c399ae1_image77.png)
3、选择【企业可信IP】,点击【配置】
![图片[27]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/b5b54fd6f6b6_image78.png)
需要提前把域名备案,否则检验不通过
![图片[28]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/3e088b92de6f_image79.png)
![图片[29]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/77e07c52961b_image80.png)
如果不是云服务器的话,企业可信IP可以通过https://ip138.com/进行查询
![图片[30]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/8faff91d6dd5_image81.png)
3.2 获取企业ID、机器人AgentId及Secret
1、点击监控机器人
![图片[31]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/f64961ba7d64_image82.png)
2、查看到AgentId为1000004,Secret为UEYk4P0yFjO74nBaCC5ACTOGOKpVhdQqDkcTtXwkXh0
![图片[32]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/c8e052b0c967_image83.png)
说明:Secret需要登录app才能查看,上图是根据手机app上进行查看
3、点击【我的企业】即可查看到企业ID
![图片[33]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/034701b25e9e_image84.png)
3.3 使用脚本(shell/python)调用企业微信api接口
1、编写微信报警脚本
[root@zabbix-server01 ~]# vim /usr/local/share/zabbix/alertscripts/wechat.py
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
# 作者: zq
# 日期: 2023
# 描述: Zabbix企业微信告警脚本
import requests
import sys
import os
import json
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s,%(filename)s,%(levelname)s,%(message)s',
datefmt='%a,%d %b %Y %H:%M:%S',
filename=os.path.join('/tmp', 'wechat.log'),
filemode='a')
# 设置企业ID
corpid='wwe897498df31cc026'
# 设置告警机器人的 Secret
appsecret='UEYk4P0yFjO74nBaCC5ACTOGOKpVhdQqDkcTtXwkXh0'
# 设置告警机器人的 AgentID
agentid=1000004
# 获取 Access Token
token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req = requests.get(token_url)
accesstoken = req.json()['access_token']
# 发送消息
msgsend_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
# 用户脚本参数
# touser = sys.argv[1]
# 用户组脚本参数
toparty = sys.argv[1]
subject = sys.argv[2]
# toparty = '3|4|5|6'
message = sys.argv[2] + "\n\n" + sys.argv[3]
params = {
# "touser": touser,
"toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe": 0
}
req = requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + toparty + ';;subject:' + subject + ';;message:' + message)
2、脚本授权
| [root@zabbix-server01 ~]# chmod +x /usr/local/share/zabbix/alertscripts/wechat.py |
|---|
3、准备python3环境
[root@zabbix-server01 ~]# yum install -y python3 python3-pip
[root@zabbix-server01 ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
4、脚本测试
(1)开一个窗口查看日志
| [root@zabbix-server01 ~]# python3 /usr/local/share/zabbix/alertscripts/wechat.py 3 网站挂了 请详细查看挂的原因 |
|---|
相关参数说明:
-
3:组ID
-
网站挂了:标题
-
请详细查看挂的原因:内容
(2)新开一个窗口查看日志
| [root@zabbix-server01 ~]# tailf /tmp/wechat.log |
|---|
![图片[34]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/79eb4b32f28d_image85.png)
(3)测试完成后删除日志文件
| [root@zabbix-server01 ~]# rm -f /tmp/wechat.log |
|---|
3.4 配置发件人
1、配置报警媒介
(1)关闭所有的报警媒介类型
![图片[5]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/442fa1b186d0_image56.png)
(2)创建新的媒体类型
![图片[6]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/e695444675cd_image57.png)
创建Message templates
#设置报警信息
信息类型是: 问题
主题: 故障名称: {EVENT.NAME}
消息:
故障始于 时间: {EVENT.TIME} 日期: {EVENT.DATE}
故障名称: {EVENT.NAME}
故障主机: {HOST.NAME}
严重程度: {EVENT.SEVERITY}
额外信息: {EVENT.OPDATA}
故障ID: {EVENT.ID}
触发器地址: {TRIGGER.URL}
#设置故障解决信息
信息类型是: Problem recovery
主题: 故障解决 in {EVENT.DURATION}: {EVENT.NAME}
消息:
故障已经解决 时间: {EVENT.RECOVERY.TIME} 日期: {EVENT.RECOVERY.DATE}
故障名称: {EVENT.NAME}
故障持续时间: {EVENT.DURATION}
故障主机: {HOST.NAME}
故障级别: {EVENT.SEVERITY}
故障ID: {EVENT.ID}
{TRIGGER.URL}
![图片[7]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/8c2fb3572fc9_image58.png)
![图片[8]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/ffd7bfc87376_image59.png)
(3)添加报警媒介类型
#名称
企业微信
#类型
脚本
#脚本名称
wechat.py
#脚本参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
![图片[39]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/d3e91598a14e_image86.png)
2、测试发件是否正常
![图片[10]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/8947021c949c_image61.png)
![图片[41]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/a6aa37576e8e_image87.png)
![图片[42]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/178ff5420fd2_image88.png)
说明:3是组ID,通过以下方式进行查看
![图片[43]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/9fb4b2142153_image89.png)
3、登录企业微信进行查看验证
3.5 配置收件人
本质:zbx的用户、用户组。
对所有人员进行分组
-
运维组ID : 1
-
开发组ID:2
-
老大组ID:3
添加收件人信息
![图片[13]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/ac19e703c603_image64.png)
![图片[45]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/39f8d9b6d052_image90.png)
![图片[46]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/813935eea613_image91.png)
3.6 配置发送邮件的动作/条件
1、启动触发器动作
![图片[16]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/8166761122cb_image67.png)
![图片[17]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/e8d7107d2a9c_image68.png)
2、查看结果
![图片[18]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/16dc12c56e78_image69.png)
3、模拟报警(企业微信因为没有域名备案,无法实现以下场景,用邮件的图暂时代替)
(1)在zabbix-client02主机上关闭nginx后,重新查看仪表板
| [root@zabbix-client02 ~]# systemctl stop nginx |
|---|
![图片[19]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/164286535d68_image70.png)
查看企业邮箱,观察报警信息
(2)在zabbix-client02主机上重新开启nginx后,重新查看仪表板
| [root@zabbix-client02 ~]# systemctl start nginx |
|---|
![图片[21]-Zabbix 邮件与企业微信告警配置实战-AI运维探索者](https://bucketbucket1.oss-cn-beijing.aliyuncs.com/imag/443ba8508333_image72.png)
查看企业邮箱,观察报警信息






暂无评论内容