avatar
Цифровизируй это
@digitize_IT
20.03.2025 11:49
Три ошибки с метриками Kubernetes в PromQL, которые проще не допускать, чем исправлять

Запрос в PromQL может выглядеть просто, но скрывать подводные камни. Например, он должен возвращать сведения об использовании памяти пода, но выдает ошибку.

container_memory_working_set_bytes{pod="agency-dashboard-api-89b7f557c-xd4l7"}


Вот какие ошибки есть в этом запросе.

Дубликаты временных рядов. Если в запросе не учтены все метки, Prometheus может вернуть несколько значений вместо одного. Например, один и тот же под может быть измерен разными заданиями мониторинга. Решение — уточнять фильтрацию, добавляя ключевые метки.

Неверная агрегация. Попытка исправить дубли суммированием и усреднением (sum() by (pod) / 2) не решает проблему, а запутывает данные. Прежде чем агрегировать, стоит разобраться, почему появились дубликаты.

Pause-контейнеры. В Kubernetes у каждого пода есть вспомогательный контейнер Pause. Если запрос не фильтрует его, метрики будут включать лишние значения. Добавляем условие container!="" — и дубликаты исчезают.

Мы разобрали ошибки на конкретном примере, но эти же принципы можно использовать и в других запросах.

#DevOps #Kubernetes
@digitize_IT — мнения и управленческий опыт ИТ-лидеров
👍 1
🔥 1
👏 1
2 495

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram