首页/云/可观测性速查/Slack 接收器:api_url 与消息字段
告警与响应50 条

Slack 接收器:api_url 与消息字段

slack_configs 使用 Incoming Webhook 地址,channel 可覆盖默认频道,title/text 支持模板;api_url 属凭据,用文件变体或环境注入。

可观测性速查云更新于 2026-10-13

Slack 接收器怎么写

slack_configs 使用 Slack 的 Incoming Webhook 地址投递告警:api_url 决定发给哪个工作区,channel 可以覆盖默认频道,title 与 text 支持模板函数,能按告警状态着色。它是 Alertmanager 中最常用的 IM 通道之一,配置简单,但凭据管理与消息长度限制要提前考虑。

基本信息

配置块receivers 下的 slack_configs
凭据字段api_url 或 api_url_file,后者从文件读取更安全
频道控制channel 覆盖 Webhook 默认频道
消息模板title、text、color 支持 Go 模板
重发控制send_resolved 决定恢复时是否再发一条

接收器示例

接收器示例
receivers:
  - name: slack-warn
    slack_configs:
      - api_url_file: /etc/alertmanager/slack.url
        channel: "#alerts-warning"
        send_resolved: true
        title: '{{ template "slack.title" . }}'
        text: '{{ template "slack.text" . }}'
        color: '{{ if eq .Status "firing" }}danger{{ else }}good{{ end }}'

字段说明

字段作用注意点
api_urlWebhook 地址属凭据,泄露后任何人可向该频道发消息
api_url_file从文件读取地址权限收紧,配合密钥管理轮换
channel覆盖默认频道频道名写错时投递静默失败
title / text消息标题与正文过长会被平台截断,摘要放前面
send_resolved恢复通知开关风暴时会产生大量恢复消息

典型使用场景

  • 按级别分频道:警告进日常工作频道,严重告警进值班频道
  • 把告警摘要与看板链接一起发出,便于快速判断影响范围
  • 作为电话与短信的补充通道,给不需要立刻响应的问题留痕
  • 接入新团队时先发测试消息,确认频道与模板渲染都正常
机器人被移出频道或频道名写错时投递会静默失败,定期发测试消息核对;工程上把 api_url 放文件并限制读取权限。
api_url 一旦泄露可被任意发消息,凭据文件权限要收紧并定期轮换,轮换时同步更新所有引用它的接收器。

排查要点

  • 消息没到先看 Alertmanager 日志里的投递错误,非法 Webhook 会有明确返回
  • 消息到了但内容为空,多半是模板引用了不存在的标签,逐字段核对渲染结果
  • 恢复通知过多时先检查 send_resolved 与分组参数,避免风暴期刷屏
  • Slack 侧也有速率限制,风暴期被限流时优先在 Alertmanager 侧用分组减少发送次数

易错点

  • 机器人被移出频道或频道名写错时投递静默失败,定期发测试消息核对
  • text 过长会被平台截断,关键摘要要放在前几行
  • api_url 明文写在配置里并提交到仓库,等于把发消息权限公开
  • 所有级别都发同一个频道,告警疲劳后重要消息被忽略

数据来源与参考

  • Alertmanager 文档 · slack_config
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌