Компания ИГТЕЛ подготовила сборку современных инструментов мониторинга для Docker: NetData, Prometheus, Graphana (NPG). NPG позволяет развернуть инструменты за несколько простых шагов и начать их совместное использование для решения задач мониторинга производительности прикладных систем.
Проект расположен по адресу https://github.com/igtel/npg
Дополнительную информацию вы сможете найти на страницах нашего блога или на сайте проекта.
NPG состоит из набора open-source инструментов, предназначенных для сбора, хранения и представления данных о состоянии элементов ИТ-инфраструктуры, в первую очередь, серверов и приложений, в текущий момент времени и за необходимый период истории.
Краткая характеристика инструментов в составе NPG:
Дополнительно в NPG используются следующие инструменты:
Эти два инструмента являются вспомогательными и необязательны для установки. Их можно отключить до запуска сборки.
В NPG не входят, но могут быть самостоятельно установлены другие дополнительные экспортеры для prometheus. Список возможных экспортеров можно найти на странице https://prometheus.io/docs/instrumenting/exporters/.
Сборка NPG позволяет быстро запустить сбор статистики о производительности серверов, ОС и приложений. Время, необходимое для первичной инсталляции и настройки такой системы, сведено к минимуму, чтобы полезныeполезные данные можно было собирать сразу, и инструментом можно было пользоваться в режиме «с колес», а затем, по мере освоения инструментов, можно было бы тонко настроить их под собственные нужды.
К преимуществам NPG, в частности, за счет использования связки Netdata-Prometheus, на наш взгляд, можно отнести то, что администратор прикладных систем получает два взаимодополняющих представления данных: исторические данные и данные в режиме реального времени. При этом исторические данные собираются централизованно, к ним есть постоянный доступ пользователей через централизованную консоль. Администратор системы сам определяет глубину хранения данных, частоту опроса агентов, политики доступа пользователей и т.д. Графики исторических данных позволяют выявить аномалии в работе систем, посмотреть тенденции, подготовить отчет за нужный период времени. В то же время, данные в режиме реального времени хранятся только на агенте, размещаются в оперативной памяти, не занимая места на файловой системе агента, автоматически происходит ротация данных (доступны данные, полученные только за последний настроенный интервал времени). Это позволяет иметь детальную картину происходящего на сервере, не забивая центральную базу данных информацией кратковременного хранения. Данные собираются с секундной точностью. В момент обнаружения аномалии производительности системы администратор с помощью инструмента netdata может провести анализ, какими именно процессами была вызвана аномалия, и каких именно ресурсов недостаточно для работы приложения на сервере.
По сравнению с традиционными, наиболее часто используемыми продуктами мониторинга, такими как Zabbix и другие подобные продукты, у NPG есть следующие преимущества:
NPG в качестве источника данных использует приложение Netdata, которое специализируется на сборе счетчиков производительности — поэтому мы не рекомендуем использовать NPG как замену полноценной системы мониторинга. Мониторинг производительности – это только одна из задач системы мониторинга. Не менее важной задачей является, например, мониторинг событий — отслеживание работы приложений по журнальным файлам, SNMP-оповещениям и с помощью других способов обнаружения аномалий, а не только путем измерения значений метрик. Сервер Prometheus может быть использован в качестве базы для хранения таких данных, но их визуализация в интерфейсе grafana является здесь более сложной задачей. Для решения подобных задач существует довольно много других продуктов, в том числе, с открытым кодом — например, Zabbix, Nagios, Zenoss и множество других.
Инструменты, используемые в составе сборки NPG, являются популярными благодаря простоте их использования и настройки. Каждый из них имеет свое сообщество пользователей, которые используют их в своей работе и стремятся улучшить их возможности. Поэтому внутри сообщества можно найти ответы на типовые вопросы, возникающие у пользователя при первом знакомстве с новым продуктом, а также можно обратиться к разработчикам за помощью в решении конкретных проблем. Официальная документация может быть не всегда актуальна, так как все эти инструменты динамично развиваются, добавляются новые возможности, а документация просто не успевает отразить все эти изменения.
Мы будем рады помочь вам в освоении и сопровождении новых инструментов и по возможности адаптировать их для решения ваших задач.