当前位置: 首页 > news >正文

Zabbix 配置钉钉告警

在企业级运维监控中,Zabbix 是一个功能强大的开源监控工具。为了实现告警信息的实时推送,将 Zabbix 与钉钉机器人集成是一种高效、便捷的方案。本文将详细介绍如何在 Zabbix 中配置钉钉告警,实现故障告警和恢复通知的自动化推送。

一、钉钉机器人配置

1. 创建钉钉群聊

首先,登录钉钉,创建一个用于接收告警信息的内部群聊。

  • 打开钉钉客户端,点击“发起群聊”。
  • 选择“内部群”,添加需要接收告警的成员。
  • 设置群名称,例如:Zabbix 告警通知群

2. 添加自定义机器人

进入刚创建的群聊,点击右上角的“群设置”图标(齿轮图标),然后选择“智能群助手” → “添加机器人” → “自定义机器人”。

  • 设置机器人名称,例如:Zabbix告警机器人
  • 选择“加签”方式(推荐),并复制生成的 Webhook URL。
  • 请务必保存该 URL,后续 Zabbix 脚本中将使用它。

二、Zabbix 服务器端配置

1. 安装 Python 依赖

确保 Zabbix 服务器已安装 Python3 及 requests 模块,用于发送 HTTP 请求。

sudo apt update                             # 更新软件包索引
sudo apt install -y python3 python3-pip     # 安装 Python3 和 pip
sudo pip3 install requests                  # 安装 requests 模块(用于发送 HTTP 请求)

2. 创建告警脚本

在 Zabbix 的脚本目录下创建钉钉告警脚本。

sudo nano /usr/local/zabbix/share/zabbix/alertscripts/dingtalk_alert.py

将以下 Python 脚本内容写入文件:

#!/usr/bin/env python
# -- coding: utf-8 --import json
import requests
import sys# 钉钉机器人Webhook地址
Dingtalkaccesstoken = "144f44aac70ffa1f0cb79d217649faa726a26596640792132e0d9d4c11630528" # 替换为你的钉钉机器人accesstoken
webhook = "https://oapi.dingtalk.com/robot/send?access_token=" + Dingtalkaccesstokendef formatmessage(title, content):message_template = "{}\n{}".format(title, content)return message_templatedef sendmsg(title, content):headers = {'Content-Type': 'application/json'}message = formatmessage(title, content)data = {"msgtype": "text","text": {"content": message}}try:response = requests.post(webhook, headers=headers, data=json.dumps(data))return response.status_codeexcept Exception as e:print("发送失败,错误信息:", e)return Noneif __name__ == "__main__":if len(sys.argv) < 3:print("使用方法:python dingtalkalert.py '标题' '内容'")sys.exit(1)title = sys.argv[1]content = sys.argv[2]status_code = sendmsg(title, content)if status_code == 200:print("消息发送成功")else:print("消息发送失败,状态码:", status_code)

3. 设置脚本权限与属主

确保 Zabbix 服务能正常执行该脚本。

sudo chmod +x /usr/local/zabbix/share/zabbix/alertscripts/dingtalk_alert.py   # 添加执行权限
sudo chown -R zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/      # 修改属主为 zabbix 用户

4. 配置 Zabbix 服务器

编辑 Zabbix 服务配置文件,确认脚本路径正确。

sudo nano /usr/local/zabbix/etc/zabbix_server.conf

确保包含以下配置项:

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

5. 重启 Zabbix 服务

sudo systemctl restart zabbix-server

6. 测试脚本功能

执行脚本测试是否能成功发送消息。

python3 /usr/local/zabbix/share/zabbix/alertscripts/dingtalk_alert.py "测试标题" "告警"

三、Zabbix Web 界面配置

1. 创建告警媒介类型

登录 Zabbix Web 界面,进入: 管理 → 报警媒介类型 → 创建媒介类型

  • 名称DingTalk alarm
  • 类型:脚本
  • 脚本名称dingtalk_alert.py
  • 脚本参数
{ALERT.SUBJECT}
{ALERT.MESSAGE}
{ALERT.SENDTO}

2. 为用户添加告警媒介

进入: 管理 → 用户 → 选择用户(如 Admin)→ 报警媒介 → 添加

  • 类型:DingTalk alarm
  • 收件人:可填写 zabbix@company.com 或任意标识
  • 启用:勾选

3. 创建告警动作

进入: 配置 → 动作 → 触发器动作 → 创建动作

基本信息
  • 名称Send Alert to DingTalk

操作(告警时)
  • 操作:添加
  • 仅送到:选择 DingTalk alarm

主题:

🚨 故障告警:{HOSTNAME1} 发生 {TRIGGER.NAME}

消息:

🔴 告警主机: {HOSTNAME1}主机地址: {HOST.IP}告警等级: {TRIGGER.SEVERITY}监控项目: {TRIGGER.KEY1}问题详情: {ITEM.NAME} = {ITEM.VALUE}当前状态: {TRIGGER.STATUS}告警信息: {TRIGGER.NAME}告警时间: {EVENT.DATE} {EVENT.TIME}事件ID: {EVENT.ID}

恢复操作
  • 添加
  • 仅送到:DingTalk alarm

主题:

✅ 恢复通知:{HOSTNAME1} 的 {TRIGGER.NAME} 已恢复

消息:

🟢 恢复主机: {HOSTNAME1}主机地址: {HOST.IP}告警等级: {TRIGGER.SEVERITY}监控项目: {TRIGGER.KEY1}问题详情: {ITEM.NAME} = {ITEM.VALUE}(已恢复正常)当前状态: {TRIGGER.STATUS}告警信息: {TRIGGER.NAME}(已恢复)恢复时间: {EVENT.DATE} {EVENT.TIME}事件ID: {EVENT.ID}

四、测试与验证

  1. 手动触发一个监控项告警(如停止 nginx 服务)。
  2. 查看钉钉群是否收到告警消息。
  3. 恢复服务,确认是否收到恢复通知。

五、常见问题排查

问题可能原因解决方案
消息未发送脚本无执行权限使用 chmod +x 添加权限
发送失败access_token 错误检查 Webhook URL 是否正确
Zabbix 找不到脚本路径配置错误确认 AlertScriptsPath 正确
机器人被禁用频繁发送或违规

检查钉钉机器人状态

本文基于 Ubuntu 系统,完整演示了 Zabbix 与钉钉机器人的集成流程。通过脚本化告警推送,实现了监控告警的即时触达,极大提升了运维响应效率。建议结合加签机制、消息模板优化和定期测试,确保告警系统的稳定可靠。

http://www.dtcms.com/a/479501.html

相关文章:

  • 网站建设最快多长时间苏州做网站公司精选苏州聚尚网络
  • Docker 镜像版本Alpine、Slim、Bookworm、Bullseye、Stretch、Jessie
  • 网上网站代码可以下载吗转移网站如何转数据库
  • 企业网站示例网站建设方案撰写
  • 数据结构:哈希基础、6种哈希函数构造方法、4种解决哈希冲突的方法和哈希扩展(一致性哈希+虚拟节点+布隆过滤器)
  • 网站做哪种推广好建设银行租房网站湖北
  • 网站建设公司基本流程无锡专业做网站
  • 工商注册网站官网网站和app可以做充值余额功能
  • 东莞网站开发后缀微营销论文
  • 【AI论文】Paper2Video:从科学论文自动生成视频
  • Pod的进阶
  • 汽车4s店网站建设方案自己设计建房子的软件
  • 玉器哪家网站做的好中小企业信息网官网
  • Node.js zlib模块所有 API 详解 + 常用 API + 使用场景
  • wordpress怎么加入站长统计聊城网站建设策划建设公司
  • 优化网站的软件wordpress文章全部展示
  • 大型网站建设行情吉林长春建设工程信息网站
  • 在线网站做品牌网站怎么样
  • 从零开始认识大模型:它的过去、现在与未来以及核心原理
  • 中国风配色网站南京网站开发价格
  • 建设厅官方网站职称动漫制作专业什么电脑最适合
  • [笔记] 驱动开发:usbview编译过程
  • 泉州正规制作网站公司my8777网域名查询
  • hive join优化和数据倾斜处理
  • 计算机知识(二)
  • 网页设计与网站建设完全学习手册pdf网站建设开发价格
  • 哪些网站可以找到兼职做报表的wordpress 架站 电子书
  • [Qlib] `Strategy` | TopkDropout
  • 镇江网站建设制作公司wordpress主题二次开发
  • 小说网站建设方案网站开发域名注册功能