【发布时间】:2021-03-16 21:46:32
【问题描述】:
我有多个prometheusRules(rule a, rule b),每个规则定义了不同的exp来约束alert;然后,我有不同的AlertmanagerConfig(一个接收器是松弛的,然后另一个接收器是opsgenie);我们如何在规则和alertmanagerconfig 之间建立联系?例如:如果触发了规则 a,我想向 slack 发送消息;如果触发了规则 b,我想向opsgenie 发送消息。
这是我尝试过的,但是,它不起作用。我错过了什么吗?
这是prometheuisRule 文件
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
labels:
prometheus: service-prometheus
role: alert-rules
app: kube-prometheus-stack
release: monitoring-prom
name: rule_a
namespace: monitoring
spec:
groups:
- name: rule_a_alert
rules:
- alert: usage_exceed
expr: salesforce_api_usage > 100000
labels:
severity: urgent
这是alertManagerConfig
apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
labels:
alertmanagerConfig: slack
name: slack
namespace: monitoring
resourceVersion: "25842935"
selfLink: /apis/monitoring.coreos.com/v1alpha1/namespaces/monitoring/alertmanagerconfigs/opsgenie-and-slack
uid: fbb74924-5186-4929-b363-8c056e401921
spec:
receivers:
- name: slack-receiver
slackConfigs:
- apiURL:
key: apiURL
name: slack-config
route:
groupBy:
- job
groupInterval: 60s
groupWait: 60s
receiver: slack-receiver
repeatInterval: 1m
routes:
- matchers:
- name: job
value: service_a
receiver: slack-receiver
【问题讨论】:
标签: kubernetes prometheus prometheus-alertmanager prometheus-operator