Netdata – это инструмент мониторинга в режиме реального времени с открытым исходным кодом, который генерирует сотни показателей производительности и параметров мониторинга работоспособности. Netdata способна визуализировать эти данные в режиме реального времени вместе с предупреждениями и уведомлениями.
Это средство мониторинга может быть установлено во всех вариантах систем Linux, Mac OS, FreeBSD и в Raspberry Pi.
Netdata предоставляет опции для архивации показателей на удаленный сервер с использованием баз данных TimeSeries и механизмов обработки, и их можно визуализировать с помощью Grafana или других инструментов.
Обзор архитектуры
Сборщик показателей
- Извлекает различные параметры мониторинга системы и работоспособности (время работы, загрузка ЦП, использование ЦП, использование ОЗУ, использование диска и т. д.).
- Извлекает показатели программ, включая веб-серверы, базы данных, контейнеры и т. д.
- Внутренние плагины Netdata собирают большинство показателей из стандартных системных параметров Linux, таких как / proc, / sys и других источников ядра Linux
- Внешние плагины содержат готовые к использованию плагины, разработанные с использованием другого языка программирования и подключенные к сервису Netdata для обмена данными. Также позволяет создавать пользовательский сборщик показателей в BASH v4 + charts.d.plugin, node.js node.d.plugin, python v2 + (включая v3) python.d.plugin. и golang (go.d.plugin)
База данных временных рядов
Netdata способна собирать тысячи показателей на сервер в секунду, которые будут храниться в формате временных рядов. В настоящее время Netdata поддерживает 6 режимов памяти / хранения:
- RAM – данные будут храниться в RAM с помощью mmap ()
- SAVE – эта опция по умолчанию сохраняет данные в оперативной памяти, пока Netdata работает, и сохраняет их на диск при перезапуске / запуске сервиса.
- MAP – этот режим позволяет Netdata записывать данные в оперативную память и немедленно обновлять эти данные в ядре Linux. Это будет работать так же, как и раздел Linux Swap.
- NONE – без хранилища / базы данных собранные показатели будут напрямую переданы в другую инстанцию Netdata.
- DBENGINE – сохраняет показатели данных в файле базы данных в качестве компонента database engine. Это единственный режим, поддерживающий изменение частоты обновления сбора данных без потери ранее сохраненных показателей.
- ALLOC – сохраняет данные в оперативной памяти с помощью calloc ().
Архивирование
Netdata поддерживает долгосрочное архивирование с использованием внешней TSDB (базы данных временных рядов) и процессоров. Поддерживает различные бэкэнды, такие как –
- Graphite – инструмент регистрации и построения графиков для данных временных рядов. Используя graphite, показатели могут храниться в различных базах данных TimeSeries – effxdb , KairosDB , Blueflood & ElasticSearch с использованием входных данных logstash tcp и кодека graphite.
- DocumentDb – метрики могут быть отправлены в документ db в формате json.
- MongoDB – метрики могут отправляться в базу данных в формате JSON.
- Prometheus – распределенная система мониторинга, которая извлекает и хранит метрики сетевых данных. Эта поддержка была включена в Netdata v1.7. См. Подробный документ – Использование Netdata с Prometheus.
Потоковая передача и копирование
Каждый узел Netdata способен передавать показатели на другой узел Netdata в режиме реального времени, это помогает Netdata работать в безголовом режиме, а узел-получатель способен работать со всеми функциями Netdata, такими как – Визуализация DashBoard, Настройка сигналов тревоги и уведомлений, а также архивация показателей для внутренней базы данных временных рядов.
Визуализация – веб-панели
Netdata в комплекте с инструментом мониторинга графического интерфейса – dashboard.js, предлагает низкую задержку, высокое разрешение и удобный инструмент визуализации. Взгляните на демо-версию, чтобы почувствовать инструмент GUI. После завершения установки вы сможете увидеть веб-интерфейс, открыв URL-адрес: http: //your.server.ip: 19999 /. Вы также можете проверить некоторые демонстрационные сайты.
Рекомендации
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.