prometheus - 如何修复 Prometheus 中的错误未定义变量“$labels”?
问题描述
我用了这个警报
- alert: my alert
expr: status{status="ERROR"}
for: 30m
labels:
severity: WARNING
annotations:
myData: "{{ $labels.myData }}"
myData2: "{{ $labels.myData2 }}"
我收到一个错误 ERROR - templates/: parse error in "prometheus/templates/alertmanager-prometheusRule.yaml": template: prometheus/templates/alertmanager-prometheusRule.yaml:419: undefined variable "$labels"
我看到了同样的问题
Prometheus Docker 无法以`Template: (dynamic): parse: template: :10: undefined variable "$labels"` 开始
但我不明白如何解决它
在配置中我使用了这个数据
text: "{{ range .Alerts -}}{{ .Annotations.myData }}{{ .Annotations.myData2}}{{ end-}}"
错误来自 helm lint
解决方案
您似乎正在通过 helm chart 部署 Prometheus 设置。这会导致一个问题,因为helm 模板和 Prometheus 中的警报模板都使用了相同的分隔符 ({{
和)。}}
必须完整地到达 prometheus 配置,因此{{ $labels.myData }}
helm 不能处理它。
最简单的方法是使用:
{{ "{{" }} $labels.myData }}
该{{ "{{" }}
块将由 helm 处理,并将{{
作为结果生成,而其余的行不会被更改,并将为您提供所需的结果。
推荐阅读
- python - 凯撒密码python错误
- typo3 - 将 Templavoila 模板添加到 Typo3 博客
- vue.js - 来自 swagger 规范的 vue.js 客户端
- sql - 在执行我的存储过程时,当我的输入是多个值时出现此错误
- angular - [(ngModel)]="model.right" ng-bootstrap 内部的崩溃角
- javascript - React/Redux:悬停一个组件时,更改所有组件的颜色
- html - HTML5 中的 data-* 属性
- python - 2个数据框之间的字符串匹配
- jquery - jQuery升级——jquery.mobile添加类
- c# - Autofac 在通用存储库中注册特定的配置类