Ищете, например, как отслеживать использование памяти контейнера с помощью Prometheus.
Он сообщает обо всех контейнерах в порядке, если мы используем этот запрос:
(container_memory_usage_bytes / container_spec_memory_limit_bytes) * 100 > 90
Однако работает нормально, если для контейнера не определен предел памяти. Делитель равен 0, а результат равен + Inf, что означает, что предупреждение срабатывает неправильно, поскольку + Inf соответствует> 90.
Есть предложения, как правильно использовать мониторинг использования памяти контейнера?
1 ответ
Я задал тот же вопрос с другой точки зрения всего несколькими днями ранее здесь. Пока не нашел ответа. Я решил добавить еще один ярлык has_memory_limit
, который я использую для оповещения только о контейнерах, для которых определен лимит.
Хорошо, я разобрался:
((container_memory_usage_bytes / container_spec_memory_limit_bytes) != +Inf) * 100 > 52
Поскольку положительная бесконечность, отрицательная бесконечность и NaN являются числами в Prometheus, вы можно просто отфильтровать их с помощью != +Inf
.
Похожие вопросы
Новые вопросы
kubernetes
ВОПРОСЫ КУБЕРНЕТА ДОЛЖНЫ БЫТЬ ОТНОШЕНЫ К РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. Настройка и развертывание здесь не по теме. Хорошее эмпирическое правило: если это происходит за пределами группы, это, вероятно, не по теме. Если речь идет о коде, работающем внутри модуля, то, вероятно, все в порядке.