Пропуск меток из результатов серии PromQL
Предположим, я напишу такой базовый запрос PromQL
Запрос:kube_deployment_spec_replicas{}
Результат:kube_deployment_spec_replicas{deployment="mydeployment",endpoint="myendpoint",instance="myinstance",job="myjob",namespace="default",pod="mypod",service="myservice"}
Есть чистый способ опустить instance
а также pod
из приведенных таймсерий?
Желательно:kube_deployment_spec_replicas{deployment="mydeployment",endpoint="myendpoint",job="myjob",namespace="default",service="myservice"}
3 ответа
Попробуйте использовать что-то вроде следующего, как уже предлагал Серджио:
sum(kube_deployment_spec_replicas) without (instance, pod)
Этот запрос удалит instance
а также pod
этикетки от результата. Обратите внимание, что запрос не будет работать должным образом, если есть несколькоkube_deployment_spec_replicas
временной ряд с идентичными (instance, pod)
набор этикеток. В этом случае запрос суммирует эти временные ряды.
ps MetricsQL предоставляет более очевидное решение для удаления меток с помощьюlabel_del
функция:
label_del(kube_deployment_spec_replicas, "instance", "pod")
Вам необходимо использовать операторы запросов Prometheus. Вы можете использовать avg или sum в зависимости от вашего варианта использования.
Вы можете проверить здесь для получения дополнительной информации: здесь
Пытатьсяsum by (labelName)
, например:
sum by (job) (
rate(http_requests_total[5m])
)
Это объединит всеhttp_requests_total
метрика по своемуjob
этикетка.