You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PrometheusRule的expr字段中使用Helm配置变量替代常量

使用Helm实现可配置复用的PrometheusRule告警规则

1. 在Values.yaml中定义可配置变量

在你的Helm Chart的Values.yaml里添加告警阈值配置项,方便不同环境或服务调整:

# Values.yaml
alertThresholds:
  # Nginx 5XX请求数告警阈值
  nginx5xxRequestCount: 50

2. 修改PrometheusRule模板文件

把模板里的VARIABLE_VALUE替换为Helm变量引用,部署时会自动替换成Values中配置的值:

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  name: blablaname
  namespace: blablans
spec:
  groups:
  - name: {{ include "blabla.fullname" . }}-cache
    rules:
    - alert: TOOMANY5XXX
      annotations:
        description: too many 5XXs
        summary: blablabla
      expr: sum( nginx_ingress_controller_requests{status=~"5.+"} ) > {{ .Values.alertThresholds.nginx5xxRequestCount }}
      for: 5m
      labels:
        severity: critical

3. 可选:添加默认值容错

如果担心Values中未配置该变量导致部署失败,可以给变量设置默认值,无配置时会自动使用默认阈值:

expr: sum( nginx_ingress_controller_requests{status=~"5.+"} ) > {{ .Values.alertThresholds.nginx5xxRequestCount | default 50 }}

这样配置后,只需修改Values.yaml中的阈值,就能快速调整不同服务或环境的告警规则,实现规则的复用与灵活配置。

内容的提问来源于stack exchange,提问作者RyanDotnet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:40:56