首页/云/可观测性速查/PagerDuty 接收器:routing_key 与去重
告警与响应50 条

PagerDuty 接收器:routing_key 与去重

pagerduty_configs 用 Events API v2 的 routing_key 接入,fingerprint 作为去重键,恢复时自动 resolve;severity 可模板化,避免全量同等级响铃。

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

PagerDuty 接收器是什么

PagerDuty 接收器把告警通过 Events API v2 推给 PagerDuty,由它在服务侧按事件规则决定是打电话、发短信还是仅记录。配置里最关键的是 routing_key(集成密钥)与 severity 的映射:PagerDuty 用 severity 判断响应策略,如果所有告警都写成同一个级别,分级与升级链就形同虚设。它适合需要电话唤起与升级链的场景,代价是要维护服务目录与事件规则的对应关系。

基本信息

配置位置receivers[].pagerduty_configs
关键字段routing_key、severity、send_resolved、url、details
去重机制按事件标识合并,同一告警不会重复开单
适用版本Alertmanager 0.2x 及以上
权限要求PagerDuty 侧服务与集成密钥

典型使用场景

  • 电话唤醒:严重故障需要在夜间把人叫起来,用升级链兜底
  • 分级响应:按 severity 决定是打电话还是仅记录,避免全员响铃
  • 值班排班:与排班表联动,自动指向当班人而非固定某个人
  • 恢复闭环:开启恢复通知后事件自动解除,无需人工处理
  • 质量统计:用事件数据统计确认时长与响应质量

使用要点

  • severity 要真实分级,写死成一个级别会让分级与升级链失效
  • routing_key 属于凭据,不要放在公开仓库里
  • 详情字段要带上下文(服务、实例、当前值),否则值班人还要自己找数据
  • 代理网络下投递失败只在 Alertmanager 日志可见,需要定期检查
  • 服务目录里的告警规则要与 Alertmanager 的 severity 对齐

配置示例

配置示例
receivers:
  - name: pager
    pagerduty_configs:
      - routing_key: <PD 集成密钥>
        severity: '{{ .CommonLabels.severity }}'
        send_resolved: true
        details:
          firing: '{{ .Alerts.Firing | len }}'
          num_alerts: '{{ .Alerts | len }}'

字段读法

字段作用注意
routing_key集成密钥属于凭据,需妥善保管
severity严重级别决定响应策略,必须真实分级
send_resolved恢复事件关闭后事件不会自动解除
details详情字段便于值班人直接判断
urlAPI 端点默认使用 Events API v2
在服务目录里为告警配置事件规则,并与 Alertmanager 的 severity 对齐之后,响应策略才能真正按级别生效。

接入步骤

  • 在 PagerDuty 侧创建服务并选择 Events API v2 集成,拿到集成密钥
  • 在 Alertmanager 的接收器里配置 routing_key 与 severity 映射
  • 用一条测试告警走通链路,确认事件能在服务侧正确开单
  • 核对事件规则:哪个级别打电话、哪个级别只记录,避免全员响铃
  • 开启恢复通知后再次测试,确认事件能自动解除

易错点

  • severity 写死会让全部告警同等级响铃,分级与升级链形同虚设
  • 代理网络下投递失败只在 Alertmanager 日志可见,必须定期检查日志与事件记录
  • routing_key 明文提交到仓库会带来被滥用的风险,应以密钥方式管理
  • 关闭恢复通知后事件不会自动关闭,恢复确认只能靠人工盯着

数据来源与参考

  • Alertmanager 文档 · pagerduty_config
  • PagerDuty 文档 · Events API v2
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌