Tengo varias prometheusRules(rule a, rule b) , y cada regla define diferentes exp para restringir la alerta; luego, tengo AlertmanagerConfig diferente (un receptor está flojo, luego el otro receptor es opsgenie ); ¿Cómo podemos hacer una conexión entre las reglas y alertmanagerconfig ? por ejemplo: si se activa la regla a, quiero enviar un mensaje a slack; si se activa la regla b, quiero enviar un mensaje a opsgenie .
Esto es lo que probé, sin embargo, eso no funciona. ¿Me he perdido algo?
Este es el archivo 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 Esto es 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-receiverDebe hacer coincidir una etiqueta de la alerta, en su caso, está tratando de hacer coincidir el job de la etiqueta con el valor service_a que no existe. Puede hacer coincidir una etiqueta que existe en el archivo prometheuisRule, por ejemplo, severity , cambiando la match en el archivo alertManagerConfig:
route: routes: - match: severity: urgent receiver: slack-receivero puede agregar otra etiqueta al archivo prometheiisRule:
spec: groups: - name: rule_a_alert rules: - alert: usage_exceed expr: salesforce_api_usage > 100000 labels: severity: urgent job: service_a