首页/云/可观测性速查/Alertmanager API v2:查询告警与自动化静默
告警与响应50 条

Alertmanager API v2:查询告警与自动化静默

/api/v2/alerts 支持 filter 查询,/api/v2/silences 以 JSON 创建静默,配合发布流水线实现自动化静默;接口无鉴权时只监听内网。

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

Alertmanager API v2 是什么

Alertmanager API v2 提供查询告警与自动化静默的能力:/api/v2/alerts 支持按标签过滤查询当前告警,/api/v2/silences 允许以 JSON 创建、查询与撤销静默。发布流水线常靠它在变更窗口自动创建静默、发布完成后提前撤销,实现变更与告警的自动联动。接口默认没有鉴权,因此只应监听内网或前置带认证的代理。

基本信息

主要端点/api/v2/alerts、/api/v2/silences、/api/v2/status
查询参数filter(标签过滤)、active、silenced
静默字段matchers、startsAt、endsAt、createdBy、comment
时间格式RFC3339 且必须带时区
适用版本Alertmanager 0.2x 及以上

典型使用场景

  • 自动化静默:流水线创建静默,并在发布验证通过后撤销
  • 状态核对:查询当前活跃告警,用于自定义看板或巡检脚本
  • 批量操作:批量清理遗留静默,避免长期压制告警
  • 集成联动:把静默与变更单系统打通,形成可追溯记录
  • 巡检取证:定时快照当前告警列表,用于周报统计

使用要点

  • 创建接口会返回静默标识,流水线要记录它才能精确撤销
  • 时间字段必须带时区,写本地时间不加偏移会整体错位
  • 接口无鉴权时仅监听内网,或前置带认证的代理
  • 批量清理前先列出目标静默,确认范围再执行
  • 静默到期会自动失效,流水线不必强行删除

API 调用示例

API 调用示例
# 查询指定告警(filter 为标签过滤表达式)
curl -s 'http://127.0.0.1:9093/api/v2/alerts?filter=alertname%3DHighErrorRate&active=true&silenced=false'

# 创建静默
curl -s -XPOST http://127.0.0.1:9093/api/v2/silences -H 'Content-Type: application/json' -d '{
  "matchers": [{"name": "service", "value": "order-svc", "isRegex": false}],
  "startsAt": "2026-10-12T09:00:00Z",
  "endsAt": "2026-10-12T11:00:00Z",
  "createdBy": "deploy-bot",
  "comment": "order-svc 发布窗口"
}'

# 撤销静默
curl -s -XDELETE http://127.0.0.1:9093/api/v2/silence/<silence-id>

字段与注意

字段含义注意
filter标签过滤表达式需做 URL 编码
matchers静默匹配条件等值与正则需显式声明
startsAt / endsAt静默起止时间RFC3339 且带时区
createdBy创建者写流水线账号便于追溯
comment说明建议带上变更单号
创建接口会返回静默标识,流水线记录它即可在发布结束后精确撤销,比事后去「撤销最近一条」的模糊做法可靠得多。

易错点

  • 时间字段是 RFC3339 且必须带时区,写本地时间不加偏移会让静默整体错位
  • 接口暴露到公网会被任意创建静默,应仅监听内网或前置带鉴权的代理
  • 流水线不记录返回的静默标识,发布结束后无法精确撤销,只能等它到期
  • 批量清理静默前不先列出目标,容易误删正在用于变更窗口的静默

数据来源与参考

  • Alertmanager 文档 · API v2
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌