У меня есть многозонный кластер kubernetes, имеющий 3 зоны с мониторингом прометея, развернутый с replicaset = 3. В каждой зоне есть 1 менеджер оповещений, 1 метрика kubestate, 1 графана и 1 модуль оператора prometheus.
Когда я получаю, например, оповещения, DeploymentReplicasNotUpdated, я получаю три оповещения - по одному от каждого состояния куба - metri c pod. Оповещения отличаются только меткой экземпляра, которая является ip-адресом kube-state-metri c pod. Формат оповещения приведен ниже
alertname="DeploymentReplicasNotUpdated" app="kube-state-metrics" deployment="mydeployment" instance="172.30.83.127:8080" job="kubernetes-service-endpoints" kubernetes_name="kube-state-metrics" kubernetes_namespace="mykubenamespace" namespace="myns" severity="critical"
alertname="DeploymentReplicasNotUpdated" app="kube-state-metrics" deployment="mydeployment" instance="172.30.83.125:8080" job="kubernetes-service-endpoints" kubernetes_name="kube-state-metrics" kubernetes_namespace="mykubenamespace" namespace="myns" severity="critical"
alertname="DeploymentReplicasNotUpdated" app="kube-state-metrics" deployment="mydeployment" instance="172.30.83.127:8080" job="kubernetes-service-endpoints" kubernetes_name="kube-state-metrics" kubernetes_namespace="mykubenamespace" namespace="myns" severity="critical"
Может ли кто-нибудь помочь мне сгруппировать эти 3 оповещения в одно оповещение в alertmanager, поскольку они относятся к одному и тому же оповещению? По сути, мне нужно исключить метку экземпляра, как показано, и вернуть только 1 предупреждение вместо 3
alertname="DeploymentReplicasNotUpdated" app="kube-state-metrics" deployment="mydeployment"job="kubernetes-service-endpoints" kubernetes_name="kube-state-metrics" kubernetes_namespace="mykubenamespace" namespace="myns" severity="critical"
promql, указанных ниже
((kube_deployment_status_replicas_updated != kube_deployment_spec_replicas)
or (kube_deployment_status_replicas_available != kube_deployment_spec_replicas))
unless (kube_deployment_spec_paused == 1)