盘点主流的 Prometheus 飞书、钉钉、企业微信 Webhook 适配器

在构建企业级 ChatOps 告警体系时,选择合适的 Webhook 适配器能让告警治理事半功倍。以下是目前开源社区中主流、活跃度较高的适配器项目。


一、 单通道专属适配器(专一且轻量)

这类适配器专注于某一个平台的深度对接,体积小、配置简单,适合单一办公软件环境的企业。

1. 钉钉专属:prometheus-webhook-dingtalk

这是目前钉钉监控中最权威、使用最广泛的官方社区级项目。

  • 开源地址prometheus-community/prometheus-webhook-dingtalk
  • 开发语言:Go
  • 核心特性
    • 社区托管:已加入 prometheus-community 官方组织,维护和更新频率有保障。
    • 模板自定义:支持使用 Go text/template 语法自定义钉钉 Markdown 消息格式。
    • 安全验签:原生支持钉钉机器人的 签名密钥(Secret)校验
    • 多群路由:支持配置多个配置文件,将不同报警路由到不同的钉钉群。

2. 企业微信专属:wechat-webhook-adapter 系列

企业微信机器人支持发送 Text、Markdown、Image、News 等格式的消息。

  • 代表项目 1bndw/prom-wechat (Go 开发,轻量级,支持通过配置文件自定义模板)
  • 代表项目 2kingfsen/prometheus-wechat-adapter (Java 开发,功能完善,适合 Java 栈的运维团队)
  • 核心特性
    • 将 Alertmanager 的告警状态(Firing/Resolved)转化为企业微信的 Markdown 绿色/红色标题。
    • 支持代理配置(当前端 Prometheus 无法直接访问企业微信外网接口时)。

3. 飞书(Lark)专属:feishu-alert-adapter 系列

飞书的“消息卡片”功能在三者中交互性最强,支持丰富的排版样式和交互按钮。

  • 代表项目 1t9as/feishu-alert-adapter (Go 开发,专门针对飞书群机器人设计)
  • 代表项目 2v9v/prometheus-feishu-adapter (Go 开发,支持富文本消息和安全签名)
  • 核心特性
    • 完美适配飞书的 Interactive Card(交互式卡片) 格式。
    • 支持根据告警级别(Critical/Warning/Info)动态渲染卡片侧边的颜色条(红、橙、蓝)。

二、 全能型多通道适配器(强烈推荐企业使用)

如果企业内部同时使用多种办公软件(如开发用飞书、HR用企微),或者后续有更换办公软件的计划,建议直接采用多通道统一适配器

1. 国产开源标杆:PrometheusAlert

这是目前国内开源社区中功能最强大、生态最活跃的跨通道告警介质转发系统。

  • 开源地址feiyu5656/PrometheusAlert
  • 开发语言:Go (基于 Beego 框架)
  • 支持渠道:钉钉、企业微信、飞书、腾讯云短信/语音、阿里云短信/语音、华为云短信、电子邮件、自定义 Webhook 等。
  • 核心优势(为什么推荐它?)
    • 可视化 Web 界面:自带一个管理后台,可以在网页上直接调试和配置告警模板。
    • 强大的模板引擎:内置大量开箱即用的飞书、钉钉、企微模板,支持热更新,无需重启服务。
    • 告警拆分与合并:支持自定义路由和告警阻断逻辑。
                           +-----------------+
                           |  PrometheusAlert | (可视化管理后台)
                           +--------+--------+
                                    |
          +-------------------------+-------------------------+
          |                         |                         |
          v                         v                         v
+-------------------+     +-------------------+     +-------------------+
|  飞书卡片消息      |     |  企业微信 Markdown |     |  钉钉 Markdown    |
+-------------------+     +-------------------+     +-------------------+

2. 国际通用多通道转发器:Apprise

  • 开源地址caronc/apprise
  • 开发语言:Python
  • 核心特性
    • 几乎支持全球所有的通知渠道(超过 80 种,包括 Discord, Telegram, Slack, Matrix, 同时也支持微信、钉钉)。
    • 提供统一的统一资源定位符(URL)定义语法(例如:wx://corp_id/corp_secret/agent_id)。

三、 主流适配器横向对比表

适配器名称 支持渠道 模板配置方式 额外依赖 适用场景
prometheus-webhook-dingtalk 仅钉钉 YAML 文件配置 Go 模板 纯钉钉环境下的官方推荐标准方案
prom-wechat 仅企业微信 配置文件模板 轻量级企业微信告警环境
feishu-alert-adapter 仅飞书 YAML 文件配置 追求极佳飞书卡片视觉效果的团队
PrometheusAlert 全部通道 (企微/钉/飞/短信/语音) Web 界面交互式配置 可选数据库 (默认 SQLite) 最推荐的企业级大一统告警网关方案

四、 生产实践:以 PrometheusAlert 为例的接入配置

在生产环境中,部署 PrometheusAlert 后,其默认的飞书卡片渲染接口为:
http://<prom-alert-ip>:8080/prometheusalert?type=fs&tpl=prometheus-fs&ddurl=https://open.feishu.cn/open-apis/bot/v2/hook/xxx

在 Alertmanager 配置文件 alertmanager.yml 中,您只需如此接入:

global:
  resolve_timeout: 5m

route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 12h
  receiver: 'prom-alert-feishu'

receivers:
- name: 'prom-alert-feishu'
  webhook_configs:
  # 将告警投递给 PrometheusAlert,它会自动渲染成精美的飞书卡片并推送到对应的飞书群
  - url: 'http://192.168.1.100:8080/prometheusalert?type=fs&tpl=prometheus-fs&ddurl=https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxx-xxxx-xxxx-xxxx-xxxxxxxx'
    send_resolved: true

五、 选型最终建议

  1. 如果你只想快速、稳定地跑通单一通道
    • 钉钉用户直接选:prometheus-community/prometheus-webhook-dingtalk
    • 飞书用户直接选:t9as/feishu-alert-adapter
  2. 如果是企业级、多通道、或者希望告警排版精美、可后期维护性高
    • 强烈推荐部署 PrometheusAlert。它的可视化 Web 界面和内置的 Go 模板引擎能够极大释放运维团队“写代码调排版”的压力,让非开发背景的运维人员也能通过 Web 界面微调告警卡片的内容。
posted on 2026-06-08 16:25  LeeHang  阅读(54)  评论(0)    收藏  举报