Определить с помощью Prometheus, если я не приближаюсь к пределам ЦП контейнера Kubernetes - PullRequest
0 голосов
/ 19 апреля 2019

Я хотел бы обнаружить с помощью Prometheus (Графана / оповещения), если фактическая загрузка ЦП моими контейнерами выше / ниже запросов ЦП и не приближается к пределам ЦП?

Для использования памяти мне удалось это сделатьвыполнив:

sum by(container_name, pod_name)(container_memory_usage_bytes{namespace=~"myNamespace",pod_name=~"myPodName",container_name=~"myContainerName"})
kube_pod_container_resource_requests_memory_bytes{namespace=~"myNamespace",pod=~"myPodName", container =~"myContainerName"}
kube_pod_container_resource_limits_memory_bytes{namespace=~"myNamespace",pod=~"myPodName", container=~"myContainerName"}

Я хотел бы добиться того же с ЦП, например, используя: container_cpu_usage_seconds_total, но мне не удается связать его с kube_pod_container_resource_requests_cpu_cores и я не уверен, что эти 2 показателя сопоставимы.

Есть предложения по этому поводу?

1 Ответ

2 голосов
/ 19 апреля 2019

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

sum(label_replace(rate(container_cpu_usage_seconds_total{container_name =~ ".+"}[1m]), "pod", "$1", "pod_name", "(.*)")) by (pod, namespace) /
sum(kube_pod_container_resource_limits_cpu_cores{}) by (pod, namespace) * 100

и для оперативной памяти:

sum(container_memory_working_set_bytes) by (container_name, namespace) / 
sum(label_join(kube_pod_container_resource_limits_memory_bytes, "container_name", "", "container")) by (container_name, namespace) * 100
...