Ansible alertmanager-prometheus的rules.yml中的Regex变量
我正在使用prometheus和alertmanager向slack发送警报,我想定制警报 我有一个变量Ansible alertmanager-prometheus的rules.yml中的Regex变量,ansible,yaml,prometheus-alertmanager,promql,Ansible,Yaml,Prometheus Alertmanager,Promql,我正在使用prometheus和alertmanager向slack发送警报,我想定制警报 我有一个变量实例:“abcd.xyz”我想将它过滤到abcd,所以这里是我的配置 规则。yml - alert: PrometheusTargetMissing expr: up == 0 for: 1m labels: severity: critical annotations: summary: "{{ $labels.insta
实例:“abcd.xyz”
我想将它过滤到abcd
,所以这里是我的配置
规则。yml
- alert: PrometheusTargetMissing
expr: up == 0
for: 1m
labels:
severity: critical
annotations:
summary: "{{ $labels.instance }} Down"
- name: 'test'
slack_configs:
- channel: 'test'
send_resolved: true
title: |-
[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }} for {{ .CommonLabels.job }}
text: >-
{{ range .Alerts -}}
*<{{ .Annotations.grafana }}|->* {{ .Annotations.summary }}
{{ end }}
alertmanager.yml
- alert: PrometheusTargetMissing
expr: up == 0
for: 1m
labels:
severity: critical
annotations:
summary: "{{ $labels.instance }} Down"
- name: 'test'
slack_configs:
- channel: 'test'
send_resolved: true
title: |-
[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }} for {{ .CommonLabels.job }}
text: >-
{{ range .Alerts -}}
*<{{ .Annotations.grafana }}|->* {{ .Annotations.summary }}
{{ end }}
我想将abcd.xyz更改为abcd,因此我已将规则.yml更改为此
summary: "{{ $labels.instance | regex_search('^\\w*') }} Down"
promtool检查失败(缺少函数regex\u search),似乎我缺少了什么(regex\u search是一个可解析的模块)
那么,我怎样才能让普罗米修斯知道我正在使用ansible进行过滤,或者这是一种更好的方法呢?对不起,我是个新手