一、钉钉机器人准备 二、Zabbix报警脚本配置
创建钉钉报警脚本
在Zabbix服务器上创建脚本文件:
sudo vim /usr/lib/zabbix/alertscripts/dingding.py
内容如下(替换 YOUR_WEBHOOK_URL 为实际URL):
#!/usr/bin/env python3
import sys
import requests
import json
webhook_url = "YOUR_WEBHOOK_URL" # 替换为你的Webhook URL
def send_dingding_message(message):
headers = {'Content-Type': 'application/json'}
data = {
"msgtype": "markdown",
"markdown": {
"title": "Zabbix 报警",
"text": f"**Zabbix报警**\n{message}"
}
}
response = requests.post(webhook_url, headers=headers, data=json.dumps(data))
return response.json()
if __name__ == "__main__":
message = sys.argv[1] # 接收Zabbix传递的参数
send_dingding_message(message)
权限设置:
sudo chmod +x /usr/lib/zabbix/alertscripts/dingding.pysudo chown zabbix:zabbix /usr/lib/zabbix/alertscripts/dingding.py
安装依赖(如无requests库):
sudo pip3 install requests
三、Zabbix Web界面配置创建报警媒介类型
为用户关联钉钉媒介
配置触发器
创建报警动作
四、测试报警手动触发高CPU负载(测试用):
stress-ng --cpu 4 --timeout 300s # 模拟高负载观察钉钉群消息,将收到如下告警:
**Zabbix报警**
**主机**: Server01
**IP**: 192.168.1.100
**问题**: High CPU Load on Server01
**状态**: PROBLEM
**严重性**: Warning
**值**: 95%
**时间**: 2023.10.01 14:30:00
常见问题排查通过以上步骤,即可实现自动推送钉钉告警。
|