Гид по технологиям

Установка Netdata на Debian 10 (Buster) 64-bit

10 min read Мониторинг. Обновлено 25 Nov 2025
Установка Netdata на Debian 10 — руководство
Установка Netdata на Debian 10 — руководство

Netdata — лёгкий агент для мониторинга в реальном времени. Это руководство шаг за шагом объясняет, как установить Netdata на Debian 10 x86_64, настроить брандмауэр, доступ по сети, обновление и базовую интеграцию (nginx, Docker, Prometheus). Включены контрольные списки, метод развёртывания, рекомендации по безопасности и типичные сценарии устранения неполадок.

Что вы получите из этого руководства

  • Быстрая установка и запуск Netdata на Debian 10.
  • Правки брандмауэра и пример реверс-прокси для HTTPS.
  • Практические советы по обновлению, откату и мониторингу производительности.
  • Ролевые чеклисты, критерии приёмки, runbook для инцидентов и краткий FAQ.

Netdata — это инструмент мониторинга производительности в реальном времени для Linux-систем. Он собирает показатели сети, использования диска, энергопотребления CPU и многие другие метрики в режиме live. Netdata может работать как агент и отправлять метрики на центральные серверы для дальнейшей агрегации и визуализации через веб-интерфейс.

Netdata спроектирован для быстрой работы в реальном времени: оптимизированный формат хранения, минимальная задержка при передаче метрик по сети и экономные агрегирующие вычисления для снижения нагрузки на CPU.

Ключевые свойства в одну строчку:

  • Высокая скорость сбора и отображения метрик.
  • Низкая занимаемая дисковая и CPU-память.
  • Совместимость с современными браузерами (HTML5, адаптивный интерфейс).
  • REST API для интеграций.
  • Поддержка Docker и совместная работа с Prometheus.

Лицензия: Netdata распространяется под GPLv2 с дополнительной гарантией прав на патенты — свободное использование, в том числе в коммерческих продуктах.

Требования и предпосылки

  • Debian 10 (Buster) 64-bit.
  • Пользователь с sudo-привилегиями (необходим для установки пакетов и правки конфигураций).
  • Доступ к интернету для скачивания репозитория и зависимостей.

Важно: прежде чем продолжать, выполните резервную копию критичных конфигураций и убедитесь в наличии доступа по SSH/консоли к серверу.

Перед началом: обновление системы

Перед установкой рекомендуется обновить списки пакетов и саму систему.

Откройте терминал и выполните:

sudo apt-get update
sudo apt-get upgrade -y

Опция -y автоматически отвечает “да” на вопросы apt. После обновления можно перезагрузить систему:

sudo reboot

Примеры вывода команд показаны ниже.

Вывод apt-get update

Вывод apt-get upgrade

Совет: на хостах в продуктиве постепенное обновление и проверка пакетов перед перезагрузкой предотвращают неожиданные простои.

Установка зависимостей

Установите необходимые пакеты сборки и библиотеки:

sudo apt-get install zlib1g-dev libuv1-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config cmake curl

Коротко о ключевых пакетах:

  • autogen/autoconf/autoconf-archive — инструменты для генерации configure-скриптов.
  • uuid-dev — поддержка UUID.
  • libmnl-dev — лёгкая библиотека netlink для взаимодействия с ядром.
  • libuv1-dev — асинхронная библиотека ввода/вывода, используемая в некоторых модулях.

Пример вывода установки:

Установка зависимостей: пример вывода

После установки зависимостей можно перейти к сборке Netdata.

Установка Netdata из исходников (рекомендуемый метод для Debian)

  1. Клонируйте официальный репозиторий (в домашний каталог текущего пользователя по умолчанию):
git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata

Пояснения:

  • –depth=1 уменьшает объём скачиваемых данных, копируя только последний коммит.
  • Путь ~/netdata можно изменить; запомните, где находится каталог.
  1. Перейдите в каталог и запустите скрипт инсталляции:
cd netdata
sudo ./netdata-installer.sh

Инсталлятор выполнит проверку окружения, установит дополнительные зависимости, скомпилирует модули и поставит службу systemd. В процессе он покажет сводку и предложит нажать Enter для продолжения или Ctrl+C для отмены.

Пример приглашения сборки:

Начало установки Netdata: приглашение сборки

Процесс сборки и установки может занять несколько минут в зависимости от ресурсов машины.

Компиляция и установка Netdata: прогресс

После установки служба Netdata будет запущена и включена в автозагрузку.

Проверка статуса службы:

systemctl status netdata

Пример вывода статуса:

Служба netdata: systemctl status

Обновление Netdata

Чтобы получить свежую версию Netdata из того же каталога:

cd ~/netdata

git pull

sudo ./netdata-installer.sh

Инсталлятор обычно не перезаписывает локальные конфигурационные файлы в /etc/netdata, но всегда разумно иметь резервную копию конфигураций перед обновлением.

Совет: подпишитесь на уведомления GitHub проекта через кнопку Watch, чтобы получать оповещения о релизах.

Удаление Netdata

Чтобы удалить Netdata, используйте инсталлятор с флагом –uninstall (в каталоге netdata):

sudo ./netdata-installer.sh --uninstall

Внимание: эта команда удалит файлы Netdata и связанные каталоги, но не тронет системные данные вне пространств Netdata. Не используйте этот способ для дистанционного выполнения команд на удалённых серверах с уникальными сценариями — можно случайно удалить агент.

Конфигурация брандмауэра (UFW)

По умолчанию Netdata слушает порт 19999/TCP (и может отправлять/принимать UDP, если настроено). Чтобы разрешить доступ в локальной сети, откройте порт 19999:

Если UFW не установлен, установите его:

sudo apt-get install ufw -y

Включите UFW и проверьте статус:

sudo ufw enable

sudo ufw status

Примеры:

UFW статус

Разрешите порт 19999/TCP:

sudo ufw allow 19999/tcp

UFW allow 19999 вывод

Перезагрузите правила и проверьте подробно:

sudo ufw reload

sudo ufw status verbose

UFW reload output

UFW status verbose output

Если сервер доступен из внешней сети, вместо прямого открытия порта используйте реверс-прокси с HTTPS и аутентификацией (см. пример nginx далее).

Доступ к веб-интерфейсу Netdata

По умолчанию веб-интерфейс доступен на порту 19999: http://:19999. Пример локального доступа: http://192.168.1.120:19999

Определение публичного IP: пример

Интерфейс Netdata состоит из основной панели и боковой панели с дополнительными метриками (температура CPU, использование диска и т.д.). Чтобы открыть боковую панель, нажмите иконку “Dashboard” в правом верхнем углу интерфейса.

Netdata интерфейс: панель и боковая панель

Если вы хотите изменить порт или включить HTTPS напрямую в Netdata, отредактируйте конфигурационный файл /etc/netdata/netdata.conf или соответствующий JSON в /etc/netdata и перезапустите службу. В большинстве случаев предпочтительнее поставить nginx/Apache в качестве реверс-прокси и настроить HTTPS там.

Пример: nginx как реверс-прокси и HTTPS (Let’s Encrypt)

Рекомендуемый подход для публичного доступа — поставить nginx в качестве реверс-прокси и использовать certbot для TLS. Пример конфигурации nginx (файл /etc/nginx/sites-available/netdata):

server {
    listen 80;
    server_name netdata.example.com;

    location / {
        proxy_pass http://127.0.0.1:19999/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

После проверки конфигурации получите сертификат и включите HTTPS:

sudo apt-get install certbot python3-certbot-nginx -y

sudo certbot --nginx -d netdata.example.com

Теперь Netdata будет доступен по HTTPS с автоматическим обновлением сертификата. Дополнительно для защиты можно включить базовую аутентификацию (HTTP auth) и ограничить доступ по IP.

Запуск Netdata в Docker (быстрая проверка)

Если вы предпочитаете контейнерный подход, есть официальный образ Netdata на Docker Hub. Пример запуска:

docker run -d --name=netdata -p 19999:19999 \
  -v netdatalib:/var/lib/netdata \
  -v netdatacache:/var/cache/netdata \
  --cap-add SYS_PTRACE --cap-add SYS_NICE \
  netdata/netdata

Контейнер удобен для тестирования, но при интеграции с хостом (сбор метрик) требуется сопоставление прав и директорий.

Интеграция с Prometheus и внешними системами

Netdata предоставляет REST API и множество экспортёров. Типовые варианты интеграции:

  • Scrape Netdata API напрямую из Prometheus (через exporter или через endpoint /api/v1/allmetrics).
  • Использовать Netdata Cloud/Chassis для централизованного хранения и агрегации.
  • Пересылка метрик в сторонние решения через коннекторы (например, в Graphite, Elasticsearch) — настраивается в конфигурации Netdata.

Примечание: способы интеграции могут отличаться в зависимости от версии Netdata; для продакшн-интеграций проверьте официальную документацию проекта.

Тонкая настройка и производительность

Рекомендации для минимизации нагрузки:

  • Отключайте ненужные плагины в /etc/netdata/python.d или /etc/netdata/go.d.
  • Настраивайте интервал сбора (collection interval) для тяжёлых плагинов.
  • Ограничьте retention (сохранение исторических данных) при работе на ограниченных дисках.
  • Запускайте Netdata под отдельным системным пользователем (инсталлятор это делает по умолчанию).

Если вы замечаете, что Netdata занимает много памяти, проверьте включённые плагины и частоту их опроса. Также полезно установить htop и следить за процессами:

sudo apt-get install htop -y

Мини-методология развёртывания (шаги)

  1. Обновите хост и установите пакеты сборки.
  2. Клонируйте репозиторий и выполните инсталляцию на тестовом хосте.
  3. Настройте UFW и добейтесь доступа в локальной сети.
  4. Настройте реверс-прокси и TLS для внешнего доступа.
  5. Подключите мониторинг и оповещения (Prometheus, Slack и проч.).
  6. Проведите нагрузочные тесты (watch, htop) и утвердите критерии приёмки.
  7. Разверните на продуктивных хостах согласно playbook, контролируя откат и бэкапы.

Критерии приёмки

  • Netdata запущен как systemd-сервис и имеет статус Active (running).
  • Веб-интерфейс доступен по внутреннему адресу и/или через nginx+HTTPS.
  • Базовые метрики CPU, памяти, сети и диска корректно отображаются.
  • Нагрузочное тестирование не показывает резкого роста CPU/RAM при базовой нагрузке.
  • Резервные конфигурации /etc/netdata сохранены перед обновлением.

Ролевые чеклисты

Администратор системы:

  • Установить зависимости и установить Netdata.
  • Настроить автозапуск и мониторинг службы.
  • Настроить базовый брандмауэр и реверс-прокси.

DevOps-инженер:

  • Интегрировать Netdata с Prometheus/Alertmanager.
  • Настроить централизованную агрегацию и оповещения.
  • Автоматизировать обновления (CI/CD) и откат.

Домашний пользователь / энтузиаст:

  • Установить на домашний сервер/ARM-плату.
  • Открыть порт в локальной сети и защитить доступ паролем при необходимости.

ISP / провайдер мониторинга:

  • Масштабировать Netdata агенты на клиентах, собирать в центральную систему.
  • Настроить дедупликацию и retention для долгосрочного хранения метрик.

Runbook: упрощённый план действий при инциденте

Симптом: веб-интерфейс недоступен.

  1. Проверить статус службы: sudo systemctl status netdata
  2. Просмотреть логи: sudo journalctl -u netdata -n 200
  3. Проверить, открыт ли порт: sudo ss -tlnp | grep 19999
  4. Если служба упала, попытаться перезапустить: sudo systemctl restart netdata
  5. Если не запускается — откатить последние изменения конфигурации из резервной копии и перезапустить.
  6. При необходимости временно закрыть внешний доступ и работать локально через SSH-tunnel.

Откат обновления (быстрая стратегия):

  • Переключитесь в каталог ~/netdata и выполните git checkout <предыдущий-тэг-или-коммит>, затем
sudo ./netdata-installer.sh

sudo systemctl restart netdata

(Храните в репозитории теги релизов и делайте резервные копии /etc/netdata/ перед апгрейдом.)

Частые проблемы и их решения

  • 404 после апгрейда php/apache/nginx: убедитесь, что сервисы, которые ожидают localhost, используют http://127.0.0.1:19999, а не только 127.0.0.1 без порта. Измените ServerName/конфигурацию соответствующего сервиса.

  • Похоже, Netdata показывает завышенное использование RAM: попробуйте установить htop и перезапустить netdata; иногда проблема связана с неправильной интерпретацией данных утилитой top.

  • Значения температуры CPU постоянно высокие: перезагрузите систему и выполните sudo service netdata restart. Если снова возникнет — проверьте драйверы сенсоров и доступность /sys/class/thermal.

  • Ошибка “unmet dependencies”: установите недостающие пакеты по очереди и проверьте их версии.

  • “Failed checksum validation”: это часто связано с нестандартной конфигурацией PHP. Если вы не используете php-fpm, эта проблема может быть неактуальна.

  • “Bad return status for script” или “Script terminated with an error”: проверьте, запущен ли веб-сервер (Apache/Nginx) и PHP, если вы пробрасываете через них.

  • Различия в CPU-метриках между htop/dstat/Netdata: некоторые метрики (например, runlist) обозначают число процессов, ожидающих CPU, а не суммарное время использования CPU. Для суммарной оценки используйте метрику user/system/idle.

Если вы обнаружили проблему, не описанную в этом руководстве — добавьте описание в комментариях к статье или проверьте официальную документацию проекта.

Безопасность и приватность

  • Не открывайте порт 19999 в интернет без реверс-прокси и TLS.
  • При доступе извне используйте аутентификацию (HTTP auth) и IP-фильтры.
  • Не отправляйте чувствительные данные в публичные облачные демоны без шифрования.
  • Если вы обрабатываете персональные данные, убедитесь в соответствии с локальными регуляциями (GDPR): ограничьте хранение логов, анонимизируйте чувствительные поля и документируйте срок хранения.

Краткое объявление (100–200 слов)

Netdata — быстрый и лёгкий монитор в реальном времени для Linux. В этом руководстве показаны простые шаги для установки Netdata на Debian 10 (Buster) x86_64: обновление системы, установка зависимостей, сборка из исходников, настройка UFW, доступ по сети и использование nginx как реверс-прокси для безопасного HTTPS-доступа. Также рассмотрены Docker-версия, интеграция с Prometheus, тонкая настройка для минимальной нагрузки и подробный runbook для инцидентов. Приведены ролевые чеклисты для администраторов, DevOps-инженеров и домашних пользователей. Следуйте критериям приёмки и создайте резервные копии конфигураций перед обновлением. Если у вас возникли вопросы, оставьте комментарий — сообщество поможет с типичными проблемами.

Критерии приёмки и тесты

Тесты, которые нужно пройти перед признанием установки успешной:

  • HTTP ответ от Netdata: curl -I http://127.0.0.1:19999 должно вернуть 200.
  • Сервис активен: systemctl is-active netdata => active.
  • Основные метрики обновляются в интерфейсе (CPU, RAM, disk, network).
  • Реверс-прокси корректно проксирует и HTTPS сертификат валиден.

1-строчный глоссарий

  • Netdata: агент мониторинга в реальном времени.
  • UFW: простой фронтенд для iptables (брандмауэр).
  • systemd: менеджер служб в современных дистрибутивах Linux.
  • Prometheus: система мониторинга и база временных рядов.

FAQ

В: Можно ли запускать Netdata на ARM (Raspberry Pi)?

Да. Netdata занимают мало ресурсов и поддерживает ARM-платформы, в том числе Raspberry Pi. Следите за частотой опроса тяжёлых плагинов.

В: Как безопасно открыть Netdata во внешнем интернете?

Лучше всего использовать nginx/Apache как реверс-прокси с TLS (Let’s Encrypt) и ограничением доступа по IP или с HTTP-авторизацией.

В: Нужно ли удалять Netdata перед обновлением?

Нет. Инсталлятор обновления не должен удалять пользовательские конфигурации, но разумно сделать резервную копию /etc/netdata перед апгрейдом.

В: Можно ли интегрировать Netdata с Prometheus?

Да. Netdata предоставляет API и экспортёры, которые можно настроить для сбора метрик Prometheus.

В: Где искать логи Netdata?

Основные логи можно получить через journalctl -u netdata или смотреть файлы в /var/log/netdata в зависимости от конфигурации.


Короткое резюме

Netdata — удобный инструмент для мониторинга в реальном времени, подходящий и для серверов, и для встраиваемых устройств. Это руководство покрывает установку, настройку брандмауэра, безопасность доступа, интеграцию и базовый runbook для устранения неполадок. Следуйте чеклистам и делайте резервные копии конфигураций перед изменениями.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Удалённый рабочий стол: Windows → Ubuntu
Удалённый доступ

Удалённый рабочий стол: Windows → Ubuntu

Заметки докладчика в PowerPoint — добавить и использовать
Презентации

Заметки докладчика в PowerPoint — добавить и использовать

Настройка эквалайзера по жанрам
Аудио

Настройка эквалайзера по жанрам

Вибро‑будильник на iPhone: как включить и настроить
Инструкции

Вибро‑будильник на iPhone: как включить и настроить

Системные прерывания: высокая загрузка CPU в Windows
Windows

Системные прерывания: высокая загрузка CPU в Windows

Как включить режим разработчика и загружать приложения на Roku
Руководство

Как включить режим разработчика и загружать приложения на Roku