Прометей: v2.15.2 kubernetes: v1.14.9
У меня есть запрос, где он точно показывает максимальное время в течение установленного периода. Но я хотел бы присоединиться к метри c, уже установленной в ресурсе kube_pod_container.
Я хотел бы знать, близко ли то, что установлено, к установленному проценту или нет, отображая процент.
У меня есть другие примеры работы с этой же структурой metri c
jvm_memory_bytes_used{instance="url.instance.com.br"} / jvm_memory_bytes_max{area="heap"} * 100 > 80
, но этот не работает.
max_over_time(sum(rate(container_cpu_usage_seconds_total{pod="pod-name-here",container_name!="POD", container_name!=""}[1m])) [1h:1s]) / kube_pod_container_resource_requests_cpu_cores * 100 < 70
Ну, первая идея состояла в том, чтобы создать запрос для сбора максимального исторического использования процессором контейнера в модуле за короткий период:
max_over_time(sum(rate(container_cpu_usage_seconds_total{pod="xpto-92838241",container_name!="POD", container_name!=""}[1m])) [1h:1s])
Элемент : {} Значение: 0.25781324101515
Если мы выполним это следующим образом:
container_cpu_usage_seconds_total{pod="xpto-92838241",container_name!="POD", container_name!=""}
Элемент: container_cpu_usage_seconds_total {beta_kubernetes_io_arch = "amd64", beta_kubernetes_io_instance_type = "t3.small", beta_kubernetes_io_os = "linux", cluster = "teste.k8s.xpto", container = "xpto" xpto, xpto, xpto Общий», failure_domain_beta_kubernetes_io_region = "са-восток-1", failure_domain_beta_kubernetes_io_zone = "Са-восток-1 c", общая = "истина", ID = "/ kubepods / Burstable / poda9999e9999e999e9- / 99999e9999999e9", образ = "nginx", экземпляр = "kubestate-dev.internal.xpto "работа = "kubernetes-cadvisor", kops_k8s_io_instancegroup = "узлы", kubernetes_io_arch = "amd64", kubernetes_io_hostname = "IP-99-999-9-99.sa-восток-1.compute.internal", kubernetes_io_os =" * * тысяча семьдесят-одна "kubernetes_io_role = "узел", имя = "k8s_nginx_ nginx -99999e9999999e9", пространство имен = "NMP c", стручок = "стручок-92838241", pod_name = "стручок-92838241", спот =" ложно "} Значение: 22533.2
Теперь у нас есть то, что настроено:
kube_pod_container_resource_requests_cpu_cores{pod="xpto-92838241"}
Элемент: kube_pod_container_resource_requests_cpu_cores {container = "xpto", экземпляр = "kubestate-dev.internal.xpto", работа = "K8S-клиента", пространство имен = "NMP c", узел = "IP-99-999-999-99.sa-восток -1.compute.internal ", pod =" pod-92838241 "} Значение: 1
Что ж, по моему мнению, было бы использовать эти две метрики и приблизить их к процент, подобный этому:
max_over_time(sum(rate(container_cpu_usage_seconds_total{pod="xpto-dev-92838241",container_name!="POD", container_name!=""}[1m])) [1h:1s]) / kube_pod_container_resource_requests_cpu_cores * 100 < 70
Элемент: нет данных Значение:
Но эти две метрики не взаимодействуют, не могу понять почему и не найти в документации.
С уважением