#prometheus #promql
#прометей #promql
Вопрос:
Вот результаты kube_deployment_labels:
kube_deployment_labels{deployment="nginx-deploy",endpoint="http",instance="10.73.10.219:8080",job="kube-state-metrics",label_app="nginx-deploy",label_test_com_team="neon",namespace="default",pod="kube-prometheus-stack-kube-state-metrics-857d997b65-m7jf9",service="kube-prometheus-stack-kube-state-metrics"} | 1
-- | --
kube_deployment_labels{deployment="nginx-deploy-new",endpoint="http",instance="10.73.10.219:8080",job="kube-state-metrics",label_app="nginx-deploy-new",label_test_com_team="neon",namespace="default",pod="kube-prometheus-stack-kube-state-metrics-857d997b65-m7jf9",service="kube-prometheus-stack-kube-state-metrics"}
И результаты приведенного ниже выражения:
(kube_deployment_spec_replicas{job="kube-state-metrics",namespace=~".*"}
!= kube_deployment_status_replicas_available{job="kube-state-metrics",namespace=~".*"})
and (changes(kube_deployment_status_replicas_updated{job="kube-state-metrics",namespace=~".*"}[5m])
== 0)
kube_deployment_labels{deployment="nginx-deploy",endpoint="http",instance="10.73.10.219:8080",job="kube-state-metrics",label_app="nginx-deploy",label_test_com_team="neon",namespace="default",pod="kube-prometheus-stack-kube-state-metrics-857d997b65-m7jf9",service="kube-prometheus-stack-kube-state-metrics"} | 1
-- | --
kube_deployment_labels{deployment="nginx-deploy-new",endpoint="http",instance="10.73.10.219:8080",job="kube-state-metrics",label_app="nginx-deploy-new",label_test_com_team="neon",namespace="default",pod="kube-prometheus-stack-kube-state-metrics-857d997b65-m7jf9",service="kube-prometheus-stack-kube-state-metrics"}
Но когда я пытаюсь совместить и то, и другое,
(kube_deployment_spec_replicas{job="kube-state-metrics",namespace=~".*"}
!= kube_deployment_status_replicas_available{job="kube-state-metrics",namespace=~".*"})
and (changes(kube_deployment_status_replicas_updated{job="kube-state-metrics",namespace=~".*"}[5m])
== 0) * on (deployment,namespace) group_left(label_team_com_team) kube_deployment_labels
Результаты показывают только те показатели, которые не имеют метки «label_test_com_team».
Ответ №1:
Это сработало для меня,
(kube_deployment_spec_replicas{job="kube-state-metrics",namespace=~".*"} * on (deployment,namespace) group_left(label_axway_com_team) kube_deployment_labels
!= kube_deployment_status_replicas_available{job="kube-state-metrics",namespace=~".*"}* on (deployment,namespace) group_left(label_axway_com_team) kube_deployment_labels)
and (changes(kube_deployment_status_replicas_updated{job="kube-state-metrics",namespace=~".*"}[5m])
== 0)* on (deployment,namespace) group_left(label_axway_com_team) kube_deployment_labels