Rocky 9.4+Zabbix 7.2 配置企业微信群机器人报警
研究了好些天 网上文档大多数适用于老版本的Zabbix,这个亲测成功。感谢小刘笔记的“docker部署zabbix7.0,mysql8.0.30,企业微信告警通知”
一:告警通知配置web-hook
企业微信中的群3人及以上,随便添加个机器人,获取Webhook地址
二:编写微信通知脚本
1:创建脚本
vi /usr/lib/zabbix/alertscripts/wechat.py
2:脚本内容如下
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
import json
import sys
# Webhook URL
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b7f4f7f0-09ae-4167-a32e-5a2eaf99db84" #替换为自己企业微信群机器人的webhook地址
# HTTP headers
headers = {'Content-Type': 'application/json;charset=utf-8'}
# 定义发送消息的函数
def send_message(text):
# 构建消息体
json_text = {
"msgtype": "text",
"text": {
"content": text
}
}
# 发送 POST 请求
response = requests.post(api_url, json=json_text, headers=headers)
# 检查响应状态码
if response.status_code == 200:
print("Message sent successfully.")
else:
print(f"Failed to send message. Status code: {response.status_code}")
# 主函数
if __name__ == '__main__':
# 检查命令行参数是否正确
if len(sys.argv) < 2:
print("Usage: python3 wechat.py <message>")
sys.exit(1)
# 获取命令行参数中的消息内容
text = sys.argv[1]
# 调用发送消息函数
send_message(text)
3:给脚本运行权限
chmod +x /usr/lib/zabbix/alertscripts/wechat.py
4:执行命令(企业群内会收到消息)
python3 /usr/lib/zabbix/alertscripts/wechat.py cesi

三:配置消息通知
1:告警-媒介-报警媒介类型
脚本参数-值 {ALERT.MESSAGE}

2:消息模版,可根据需求进行调整
告警可用变量请参照官方文档跳转
消息类型:问题
主题:告警通知
消息:
事件名称:{EVENT.NAME}
告警地址:{HOST.NAME}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警严重性:{EVENT.SEVERITY}
当前状态:{EVENT.STATUS}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}

3:消息模版
消息类型:问题恢复
主题:恢复通知
消息:
事件名称:{EVENT.NAME}
告警地址:{HOST.NAME}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警严重性:{EVENT.SEVERITY}
当前状态:{EVENT.RECOVERY.STATUS}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.RECOVERY.ID}

4:告警-动作-触发器动作-创建动作
创建动作 
编辑操作(消息模版和消息模版一样)

编辑恢复操作(消息模版和恢复消息模版一样)

5:创建用户
用户-用户-创建用户

报警媒介
收件人随意

权限选择“super admin role ”

四:测试 手动创造些问题 看一下消息发送状态


测试OK
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)