先在钉钉群添加一个机器人

然后复制好Webhook
修改配置文件,找到关键字AlertScriptsPath,然后把注释去掉,进行修改路径
jsvi /usr/local/zabbix/etc/zabbix_server.conf
jsAlertScriptsPath=/usr/local/zabbix/alertscripts

创建 AlertScriptsPath 目录(若不存在):
jsmkdir -p /usr/local/zabbix/alertscripts cd /usr/local/zabbix/alertscripts
创建钉钉告警脚本
jsvi dingtalk_alert.py
pythonimport json
import requests
import sys
# 替换为你的钉钉Webhook(必须正确)
WEBHOOK = "https://oapi.dingtalk.com/robot/send?access_token=f786de6867f613169ae6ea028fd45bb09157d3cb38863fc5e53c8bed4e8ae197"
if __name__ == "__main__":
if len(sys.argv) < 2:
print("缺少消息参数")
sys.exit(1)
msg = sys.argv[1]
headers = {"Content-Type": "application/json"}
data = {"msgtype":"text", "text":{"content":msg}}
try:
resp = requests.post(WEBHOOK, headers=headers, data=json.dumps(data), timeout=10)
print("钉钉响应:", resp.text)
if resp.json()["errcode"] != 0:
print("钉钉返回错误:", resp.text)
sys.exit(1)
except Exception as e:
print("发送失败:", str(e))
sys.exit(1)
js# 赋予执行权限
chmod +x dingtalk_alert.py
# 归属zabbix用户/组(编译安装的zabbix用户通常是zabbix)
chown zabbix:zabbix dingtalk_alert.py
重启 Zabbix Server
js# 编译安装的Zabbix Server重启命令(根据实际启动脚本调整)
/usr/local/zabbix/sbin/zabbix_server restart
# 或用systemd(若配置了服务)
systemctl restart zabbix-server
安装好python环境
js# CentOS 7
yum install -y python3 python3-pip
# CentOS 8/RHEL 8
dnf install -y python3 python3-pip
# Ubuntu/Debian
apt install -y python3 python3-pip
js/usr/bin/python3 -m pip install requests --upgrade


测试

然后配置他告警的消息


js告警问题: {EVENT.NAME}
问题发生时间:{EVENT.TIME} {EVENT.DATE}
问题名称:{EVENT.NAME}
主机:{HOST.NAME}
告警级别:{EVENT.SEVERITY}
业务数据:{EVENT.OPDATA}
原始问题ID:{EVENT.ID}
{TRIGGER.URL}
js告警问题恢复:{EVENT.DURATION}: {EVENT.NAME}
问题恢复时间:{EVENT.RECOVERY.TIME} {EVENT.RECOVERY.DATE}
问题名称:{EVENT.NAME}
主机:{HOST.NAME}
告警级别:{EVENT.SEVERITY}
业务数据:{EVENT.OPDATA}
原始问题ID:{EVENT.ID}
{TRIGGER.URL}
添加钉钉告警的媒介


创建钉钉告警动作


记得都点更新
关了tomcat服务器测试验证是否发送

本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!