首页/云/可观测性速查/AlertmanagerConfig:命名空间级路由
告警与响应50 条

AlertmanagerConfig:命名空间级路由

AlertmanagerConfig 把路由与接收器下沉到命名空间,由 Operator 合并进全局 Alertmanager;适合多团队共享一套告警组件。

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

AlertmanagerConfig 是什么

AlertmanagerConfig 是 Prometheus Operator 定义的 CRD,把路由与接收器下沉到命名空间:各团队在自己命名空间里维护告警路由与接收器,由 Operator 合并进全局 Alertmanager 配置。它解决了多团队共享一套告警组件时的配置争抢——不必再让所有人改同一份 alertmanager.yml。前提是全局 Alertmanager 侧配置了选择器与命名空间范围,子配置才会被合并进去。

基本信息

资源类型Kubernetes CRD(monitoring.coreos.com/v1alpha1)
归属组件Prometheus Operator
关键字段spec.route、spec.receivers、spec.inhibitRules
合并前提Alertmanager 资源里配置 alertmanagerConfigSelector 与命名空间选择器
适用环境Kubernetes 集群

典型使用场景

  • 多团队自治:各命名空间维护自己的路由与接收器,互不阻塞
  • 权限收敛:团队只在本命名空间建 CR,不必改动全局配置
  • 路由隔离:按标签把告警投递到对应团队的通道
  • 平台统一:平台侧只维护全局默认路由与通知汇总
  • GitOps 管理:CR 与业务清单一起版本化,变更可追溯

使用要点

  • 全局 Alertmanager 必须配选择器,否则子配置写了也不生效
  • CR 内的路由与全局路由合并后的实际行为要用测试告警验证
  • 命名空间选择范围要明确,避免误合并测试命名空间的配置
  • 接收器里的地址要能在集群内解析,跨命名空间引用使用完整域名
  • 上线前先小范围验证合并结果,再逐步放开范围

AlertmanagerConfig 示例

AlertmanagerConfig 示例
apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
  name: team-search
  namespace: search
spec:
  route:
    receiver: search-im
    groupBy: ['alertname']
    matchers:
      - name: team
        value: search
  receivers:
    - name: search-im
      webhookConfigs:
        - url: http://relay.search.svc:8060/im

字段读法

字段含义注意
spec.route团队级路由规则与全局路由合并后生效
spec.receivers接收器定义地址需在集群内可解析
spec.inhibitRules抑制规则合并顺序影响实际行为
matchers标签匹配条件写错会导致路由不命中
全局选择器筛选哪些 CR 参与合并缺失则子配置全部失效
子配置与全局配置合并后的结果才是实际生效值,冲突时以合并结果为准;上线前用一条测试告警走完整个路径最稳妥。

易错点

  • 全局 Alertmanager 忘记配置选择器,子配置写了却完全不生效,容易误判为 CR 写法错误
  • 子配置路由与全局路由冲突时以合并结果为准,未实测就上线容易出现路由漂移
  • 命名空间选择范围写得过宽,把测试环境的配置合并进生产告警链路
  • 接收器地址使用短名,跨命名空间解析失败会让通知静默丢失

数据来源与参考

  • Prometheus Operator 文档 · AlertmanagerConfig
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌