Warm tip: This article is reproduced from serverfault.com, please click

kubernetes helm-如何在Prometheus中修复错误的未定义变量“ $ labels”?

(kubernetes helm - How to fix the error undefined variable "$labels"in Prometheus?)

发布于 2020-11-05 08:43:37

我用过这个警报

        - alert: my alert
          expr: status{status="ERROR"}
          for: 30m
          labels:
            severity: WARNING   
          annotations:
            myData: "{{ $labels.myData }}"
            myData2: "{{ $labels.myData2 }}"

我收到错误错误-模板/:“prometheus/templates/alertmanager-prometheusRule.yaml”中的解析错误:模板:prometheus / templates / alertmanager-prometheusRule.yaml:419:未定义变量“ $ labels”

我看到了同样的问题

Prometheus Docker无法以`Template:(dynamic):parse:template::10:undefined variable“ $ labels”开始

但我不知道如何解决

在配置中,我使用了这些数据

text: "{{ range .Alerts -}}{{ .Annotations.myData }}{{ .Annotations.myData2}}{{ end-}}"

错误来自掌舵皮棉

Questioner
user1365697
Viewed
0
bjakubski 2020-11-05 17:39:04

看来你正在通过头盔图来部署Prometheus设置。这会导致问题,因为头盔模板和Prometheus中的警报模板使用了相同的定界符({{}})。

{{ $labels.myData }}必须达到普罗米修斯配置完好,所以掌舵不能处理它。

最简单的方法是使用:

{{ "{{" }} $labels.myData }}

{{ "{{" }}块将通过掌舵进行处理,会产生{{与没有被改变,并会得到你需要的结果该行的其余部分的结果。