Многократный запрос в метании прометея Ошибка не найдена - PullRequest
0 голосов
/ 13 мая 2019

Ошибка при выполнении двух запросов одновременно.

Запрос1:

sum by(container_label_io_kubernetes_pod_name) (rate (container_cpu_usage_seconds_total{container_label_io_kubernetes_container_name=~"demo-api"}[1m]))

O / P:

{container_label_io_kubernetes_pod_name="demo-api-demo-api-7c8d7c75d-sfrsg"}    0.15590349995998623
{container_label_io_kubernetes_pod_name="demo-api-demo-api-7c8d7c75d-nnxqz"}    0.22167272938000676
{container_label_io_kubernetes_pod_name="demo-api-demo-api-7c8d7c75d-zbcdk"}    0.14510123627695987

Ouery2:

avg(kube_pod_container_resource_requests_cpu_cores{container="demo-api"})

O / P:

Element     Value
{}  1

Окончательный запрос (q1 / q2):

(sum by(container_label_io_kubernetes_pod_name) (rate (container_cpu_usage_seconds_total{container_label_io_kubernetes_container_name=~"demo-api"}[1m])))
/(avg(kube_pod_container_resource_requests_cpu_cores{container="demo-api"}))

Точки данных не найдены.

1 Ответ

1 голос
/ 14 мая 2019

Документация Prometheus здесь описывает, как работает сопоставление векторов.Чтобы ваша операция прошла успешно, вы должны игнорировать метку container_label_io_kubernetes_pod_name во время разделения:

(sum by(container_label_io_kubernetes_pod_name) (rate (container_cpu_usage_seconds_total{container_label_io_kubernetes_container_name=~"demo-api"}[1m])))
/
ignoring(container_label_io_kubernetes_pod_name) group_left 
avg(kube_pod_container_resource_requests_cpu_cores{container="demo-api"})
...