Prometheus告警配置:如何用env标签替换cluster标签?
解决Prometheus告警规则替换标签的问题
你的配置无效的核心原因是告警规则里不支持relabel_configs字段(这个配置仅用于Prometheus的抓取阶段或Alertmanager配置),同时标签引用和字段处理逻辑有误。以下是几种可行的解决方案:
方案1:在查询表达式中转换标签(通用场景)
通过label_replace函数直接在指标查询阶段将cluster标签转换为env,并调整聚合维度保留env而非cluster:
- alert: SQL expr: avg by (datname, env) ( label_replace( rate(pg_stat_database_blks_hit{datname!~"template.*", cluster="prod"}[5m]) / (rate(pg_stat_database_blks_hit{datname!~"template.*", cluster="prod"}[5m]) + rate(pg_stat_database_blks_read{datname!~"template.*", cluster="prod"}[5m])), "env", "$1", "cluster", "(.*)" ) ) < 0.98 for: 2m labels: severity: email annotations: summary: "PostgreSQL low cache" description: "PostgreSQL low on cache for database {{ $labels.datname }} in env {{ $labels.env }}"
- 逻辑:用
label_replace把每个时间序列的cluster标签值复制到env标签,再通过avg by (datname, env)聚合,最终告警只会携带datname和env标签。
方案2:固定值场景直接赋值(cluster值固定为prod)
如果你的cluster值始终是prod,可以直接给env赋值并清空cluster标签:
- alert: SQL expr: avg(rate(pg_stat_database_blks_hit{datname!~"template.*", cluster="prod"}[5m]) / (rate(pg_stat_database_blks_hit{datname!~"template.*", cluster="prod"}[5m]) + rate(pg_stat_database_blks_read{datname!~"template.*", cluster="prod"}[5m]))) by (datname, cluster) < 0.98 for: 2m labels: severity: email env: "prod" # 直接指定env值 cluster: "" # 清空cluster标签,告警中不再显示 annotations: summary: "PostgreSQL low cache" description: "PostgreSQL low on cache for database {{ $labels.datname }} in env {{ $labels.env }}"
方案3:多cluster场景直接映射标签
如果cluster有多个取值(如prod、staging),可以直接将cluster的值映射给env并删除原标签:
- alert: SQL expr: avg(rate(pg_stat_database_blks_hit{datname!~"template.*"}[5m]) / (rate(pg_stat_database_blks_hit{datname!~"template.*"}[5m]) + rate(pg_stat_database_blks_read{datname!~"template.*"}[5m]))) by (datname, cluster) < 0.98 for: 2m labels: severity: email env: '{{ $labels.cluster }}' # 直接引用cluster的值作为env cluster: "" # 删除cluster标签 annotations: summary: "PostgreSQL low cache" description: "PostgreSQL low on cache for database {{ $labels.datname }} in env {{ $labels.env }}"
内容的提问来源于stack exchange,提问作者xttx
相关产品推荐
相关产品推荐

