Прометей фильтрация по меткам - PullRequest
1 голос
/ 05 февраля 2020

Как добавить фильтры меток в запросе Прометея?

kube_pod_info

kube_pod_info {creation_by_kind = "ReplicaSet", creation_by_name = "alertmanager-6d9f74d4c5", instance = "kube-state-metrics: 8080", job = "kube-state-metrics", namespace = "test", pod = "alertmanager-6d9f74d4c5-xlqrv"}

kube_pod_labels

kube_pod_labels {instance = "kube-state-metrics: 8080", job = "kube-state-metrics", label_app = "alertmanager", label_pod_template_hash = "6d9f74d4c5" name, = «Test», pod = «alertmanager-6d9f74d4c5-xlqrv», label_source = «k8s»}

Здесь у меня есть информация о показателях состояния куба в prometheus для kube_pod_info & kube_pod_labels.

kube_pod_info{namespace="test"} ---> Фильтрует модули по тесту пространства имен.

Здесь я хочу также включить фильтр на основе меток. У меня есть ярлык с именем «label_source =« k8s »в kube_pod_labels. Как я могу присоединиться к kube_pod_info & kube_pod_labels, чтобы также применить фильтр меток?

1 Ответ

0 голосов
/ 05 февраля 2020

Вы можете использовать оператор + для объединения метрик. Здесь group_left() будет включать дополнительную метку: label_source от правой метри c kube_pod_labels. Метри c, к которой вы присоединяетесь, обнуляется (т. Е. 0 * kube_pod_labels), чтобы она не влияла на результат первой метри c.

(
kube_pod_info{namespace="test"}
)
   + on(namespace) group_left(label_source)
(
   0 * kube_pod_labels
)
...