Получение метки объекта развертывания в правилах предупреждений Prometheus

Есть ли способ показать метку объекта развертывания в правилах предупреждений Prometheus?

У меня есть метка объекта развертывания, заданная как teamname = teamA. Я хочу показать эту метку в предупреждении KubeDeploymentReplicasMismatch.

Я мог бы сделать то же самое для предупреждений, связанных с модулями, изменив выражение с помощью,

 * on(namespace,
  pod) group_left(label_axway_com_team) kube_pod_labels

Я не могу сделать то же самое для предупреждений, связанных с объектами развертывания.

Я также хочу сделать это для наборов демонов, наборов состояний, cronjobs, предупреждений, связанных с заданиями ... Но я не уверен, есть ли способ показать метки объектов Kubernetes в метриках prometheus ... Я вижу способ только для меток модулей.

Любая помощь по этому поводу, пожалуйста?


person Rad4    schedule 03.12.2020    source источник


Ответы (1)


Я нашел с помощью справки kube_deployment_labels ..

Однако приведенное ниже выражение показывает только результаты развертывания объектов, не имеющих метки. То же выражение работает для модулей, когда я использую Kube_pod_labels.

(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_axway_com_team) kube_deployment_labels 

В чем проблема с этой командой?

person Rad4    schedule 03.12.2020