Блог bitmanager

Мониторинг: маленький и быстрый

В проекте тестового стенда параллельно с мониторингом Zabbix, я использовал мониторинг на Prometheus. Что это такое рассказывать не буду – сами найдете. Я как раз хотел в паре слов рассказать о преимуществах и недостатках.


Естественно, никто не говорит о замене монструозного Zabbix на такое чудо техники – не так еще развита экосистема, да и заточка этой системы мониторинга больше под Docker и другие контейнеры. Отсюда и особенности autodiscovery и сбора данных.Что мне понравилось – это прежде всего хранилище. 5000 метрик при скорости сбора раз в 5 секунд занимают всего несколько гигабайт, 3, если точно. При этом скорость агрегации и выборки после Zabbix первое время потрясает. На машинке с гигом оперативы я могу спокойно выбрать данные за три дня, прогнав их через простенькую агрегацию типа irate и получить результат через 3 секунды. 3 секунды, КАРЛ, ТРИ!!! А не пяток минут, как в Zabbix. Кто-то может сказать, ну что ты Zabbix тоже могуч, особенно если оттюнить базу и тому подобное сделать. Да кто бы спорил, но не зря же я вначале привел характеристики машинки, на которой это чудо крутится. Потом одной из фишечек являются агрегации. Их много, на любой вкус и алгоритм. Конечно, изначально пришлось почесать голову, выбирая между delta, rate и irate, но оно того стоило. А можно еще процентили считать и арифметику при построении графиков использовать. Третьим преимуществом является простота. Простота во всем, начиная с установки, которая представляет из себя пару бинарников, и до сбора данных, который осуществляется по HTTP(S). Сложнее придумать что-то проще и, как вы понимаете, мониторить, в принципе, можно все, что угодно.

Ну и как водится, недостатки – это продолжение достоинств. Основной конфиг на YaML изначально может неслабо поставить в ступор, использование выражений в запросах требует понимания как они работают, для чего есть даже полноценный дебаггер в веб-интерфейсе Promretheus. Сильно дает о себе знать Docker-ориентированная архитектура, каждому модулю по новому порту, поиск машин по DNS и с использованием API известных хостеров контейнеров. Pull метод сбора данных может подойти не всем, хотя у системы есть и PushGateway. Никакого интерфейса настройки – только конфиг, только хардкор. Alert-ы тоже настраиваются только там. Модули представляют из себя изрядный зоопарк. Ну и конечно, молодость системы, полно шероховатостей, хотя динамика развития не может не радовать.


По итогу получилась не лишенная недостатков система мониторинга, которая, тем не менее обладает своей долей очарования и прекрасно подходит для встроенных замкнутых систем мониторинга с высокой кастомизацией данных мониторинга.
Записки сисадмина