Сейчас существует достаточно много систем для хранения и обработки метрик (timeseries db), но ситуация с агентами (софтом, который собирает метрики) сложнее. Не так давно появился telegraf, но все равно выбор не велик.
При этом практически все облачные сервисы мониторинга разрабатывают свои агенты и мы не исключение. Мотивация достаточно простая — есть много специфичных требований, которые слабо вписываются в архитектуру существующих решений.
Основные наши специфичные требования:
- надежность доставки метрик в облако
- непростая логика плагинов: они взаимодействуют друг с другом
- диагностика: мы должны уметь понимать, почему агент не может собрать те или иные метрики
- агент должен потреблять как можно меньше ресурсов клиентского сервера
Под катом расскажу несколько аспектов разработки агента для сбора метрик.







