#performance #kubernetes #devops #prometheus #grafana
Вопрос:
Я пытаюсь настроить некоторые графики с помощью prometheus с помощью grafana в домашней лаборатории, используя один узел kubernetes, развернутый с помощью миникуба. У меня также есть несколько стресс — тестов для использования в кластере. Я хочу измерить результаты стресс-теста с помощью prometheus, поэтому мне нужна помощь со следующими запросами:
- Использование процессора узла/кластера и от и отдельного модуля по заданному имени за определенный промежуток времени (т. е. 5 минут).
- Использование памяти узла/кластера и от и отдельного модуля по заданному имени за определенный промежуток времени (т. е. 5 минут).
- Использование диска или файловой системы узла/кластера и из отдельного модуля по заданному имени в течение определенного периода времени (т. е. 5 минут).
- Задержка от отдельного модуля по заданному имени за определенный промежуток времени (т. е. 5 минут).
Если кто-нибудь может помочь с этим, или знать панель мониторинга grafana для этого (я уже пробовал 737 и 6417), или дать подсказку о том, с какими показателями мне нужно проконсультироваться (я пробовал rate(container_cpu_usage_seconds_total[5m])
, и это дает мне какой-то результат для запроса использования процессора для всего узла).
Ответ №1:
Вы можете использовать метки Prometheus для получения показателей для определенного модуля:
Процессор (вам не нужно указывать все метки, вы можете выбрать только одну, если она уникальна:
sum(rate(container_cpu_usage_seconds_total{pod=~"<your_pod_name>", container=~"<your_container_name>", kubernetes_io_hostname=~"<your_node_name>"}[5m])) by (pod,kubernetes_io_hostname)
Память:
sum(container_memory_working_set_bytes{pod=~"<your_pod_name>", container=~"<your_container_name>", kubernetes_io_hostname=~"<your_node_name>"}) by (pod,kubernetes_io_hostname)
Диск:
kubelet_volume_stats_used_bytes{kubernetes_io_hostname=~"<your_node_name>$", persistentvolumeclaim=~".*<your_pod_name>"}
Задержка:
Вы можете собрать его в своем приложении (веб-сервере)? через клиент Prometheus (уровень приложения)