Пропуск меток из результатов серии 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этикетка.

Документ: https://prometheus.io/docs/prometheus/latest/querying/examples/#:~:text=we%20might%20want%20to%20sum%20over%20the%20rate%20of%20all%20instances

Другие вопросы по тегам