Метрики Prometheus

В современном мире Devops, метрики формата Prometheus уже стали стандартом, который применяется для мониторинга приложений, а также для их масштабирования.

Напомню, что архитектурно Прометей использует pull модель для получения данных, то есть сервер сам запрашивает с указанных точек метрики с заданным интервалом. Эти самые точки принято называть exporters. Существует великое множество готовых экспортеров на все случаи жизни.

К примеру, мы хотим, мониторить redis на предмет длины очереди, которая не должна превышать заданного прога. Для этого можно запусть redis exporter, который будет связующим звеном между prometheus и сервером redis. А в его настройках укажем запрос, который нам необходим.

Приложения, конечно, могут иметь и встроенные метрики, в этом случае промежуточное звено не требуется.

Prometheus определяет четыре основных типа метрик:

  1. Counter: Счетчик представляет собой простую числовую метрику, которая только увеличивается или сбрасывается до нуля на перезапуске. Примеры счетчиков: количество запросов к HTTP-серверу, количество выполненных задач и т.д.

  2. Gauge: Это метрика, которая представляет собой одиночное числовое значение, которое может произвольно увеличиваться или уменьшаться. Примеры: текущее использование памяти, количество одновременно работающих потоков и т.д.

  3. Histogram: Гистограмма представляет собой метрику, которая собирает наблюдаемые значения в виде бакетов (группы значений в определенном диапазоне) и также обеспечивает счетчик накопленных наблюдений и сумму всех наблюдаемых значений. Примеры: измерение времени ответа, размер запроса и т.д.

  4. Summary: Summary аналогичен гистограмме, но также предоставляет возможность вычисления квантилей наблюдаемых значений.