Проверен полностью81 226

Мониторинг

Netdata

Netdata собирает показатели CPU, памяти, дисков и сети Linux-хоста и хранит историю локально. Рецепт запускает официальный Agent за шлюзом с паролем, не публикует API агента и не требует учётной записи Cloud. Агент использует GPLv3+, но встроенный современный веб-интерфейс проприетарный.

Вместо Netdata CloudGPL-3.0-or-later AND LicenseRef-Netdata-Cloud-UI-1.0Версия 2.12.2

Обзор

Netdata

Netdata собирает метрики Linux-хоста и показывает графики CPU, памяти, дисков и сети в реальном времени. История хранится локально, встроенные правила оценивают состояние системы. Приложение подходит для домашнего сервера или VPS, когда одной проверки доступности недостаточно. Сравните с Beszel, если нужен более лёгкий подход с центральным хабом и агентами.

Рецепт запускает официальный Agent 2.12.2 и обязательный шлюз Caddy с паролем. Учётная запись Netdata Cloud не нужна. На loopback публикуется только шлюз, API агента остаётся во внутренней сети Docker. Сбор и история метрик работают без подключения агента к Cloud.

Что входит

  • Штатный сбор CPU, RAM, дисковых и сетевых метрик через read-only-монтирования хоста.
  • Локальная история dbengine, метаданные SQLite, идентификатор агента и управляющие ключи в постоянных томах.
  • Парольная защита UI и API, healthcheck, backup и проверенное восстановление.
  • Современный встроенный веб-интерфейс. Его лицензия отличается от лицензии агента.

Ограничения

Агент использует GPLv3+, но современный UI закрыт и распространяется по NCUL1. Поэтому вся установка отмечена в каталоге как проприетарная. NCUL1 разрешает использование с компонентами Netdata и ограничивает изменение и обратную разработку. См. объяснение лицензий upstream и NCUL1.

В этой установке нет локальных OIDC, SAML или MFA; HTTP Basic предоставляет шлюз. Cloud-вход, Cloud SSO, общие сохранённые панели, streaming дочерних агентов и внешние уведомления не входят в рецепт. Раздел Live с таблицами функций в современном UI требует подключённого к Cloud агента и входа. В комплекте нет нативных мобильных или настольных клиентов. Проверенный UI и официальная документация — на английском.

Мониторится Linux-хост Docker. Под Docker Desktop это Linux-VM, а не полноценный мониторинг Windows/macOS или физических устройств. Docker socket, дополнительные SYS_ADMIN/SYS_PTRACE и unconfined-профиль не предоставлены: часть сборщиков и дескрипторов процессов недоступна. После новых монтирований хоста может понадобиться перезапуск агента. См. официальную таблицу прав контейнера.

Для небольшой установки на одном хосте планируйте минимум 512 МиБ RAM, лучше 1 ГиБ, одно ядро CPU и от 5 ГиБ диска. Реальное потребление памяти и глубина истории зависят от количества метрик и сборщиков; это оценки для планирования, а не сертификация оборудования. См. расчёт ресурсов Agent.

Данные и приватность

Агент не подключён к Cloud, DO_NOT_TRACK=1 отключает его телеметрию, внутренняя сеть не даёт ему исходящего маршрута. При этом браузерный UI может загружать ресурсы с доменов Netdata или обращаться к ним, включая registry-iframe с идентификатором агента и именем хоста. Отключение телеметрии агента не означает отсутствия стороннего браузерного трафика. См. управление телеметрией.

Агент читает корень хоста, /proc, /sys, сведения об ОС и имена учётных записей и разделяет PID-пространство хоста. Entrypoint стартует от root и запускает агент с UID/GID 201. Read-only не означает отсутствия чувствительных данных: защитите образ, локальный доступ, архивы и API-ключи. В пакетах двух закреплённых образов зафиксировано восемь CRITICAL-находок; функциональная проверка их не устраняет.

Проверка

На amd64 полный рецепт получил реальные графики CPU/RAM и фиксированные исторические значения CPU, затем удалил оба тома. Восстановление вернуло исходный идентификатор агента, хеш API-ключа и точные исторические значения. Проверены отказ анонимным запросам UI/API, повреждённый архив, права и неизменность архива, страховочная копия и backup остановленной установки. ARM64, привилегированные сборщики, Cloud-интеграции и доставка уведомлений не проверялись.

Отслеживание обновлений

Это сохранённые результаты отдельных проверок, а не данные в реальном времени. Неизвестный статус означает, что проверка ещё не выполнялась.

Новые релизы

Сравнение версии рецепта с последним известным релизом upstream. Это номер версии, а не разбор изменений.

Актуальная версия 2.12.230 окт. 2026 г., 18:17 UTC

Критические уязвимости

Результат отдельного сканирования Docker-образов, а не проверки Compose.

Найдено: 8 · Trivy 0.74.030 окт. 2026 г., 17:41 UTC
Показать бюллетени (4)

Несовместимые обновления

Новый major находится сравнением номеров версий. Вердикт о совместимости заносится вручную после чтения release notes и порядка миграции.

Не провереноПроверка не выполнялась

compose.yaml

Изменения upstream Compose относительно проверенного рецепта.

Upstream Compose не отслеживаетсяПроверка не выполнялась

Устаревшие Docker-образы

Проверка закреплённых тегов образов на наличие новых версий.

Не провереноПроверка не выполнялась

От наблюдения к действию

План обновления

Рецепт уже закрепляет последний известный релиз. Ниже показаны сохранённые основания для этой версии.

2.12.22.12.2
  1. Открыть основания релиза

    Открыть релиз на GitHub ↗ Ссылка нужна для ревизии и сама по себе не доказывает совместимость.

  2. Проверить границу версий

    Номера версий не пересекают major-границу совместимости. Вердикт о совместимости не записан.

  3. Подготовить смену тегов образов

    Смена тегов образов сейчас не планируется.

  4. Следовать документированной схеме миграции

    Смена тега и перезапуск. Шаги конкретного релиза всё равно берутся из release notes и инструкции по установке.

  5. Защитить точку отката

    Смена версии сейчас не планируется. Рецепт содержит процедуру backup. Restore проверен.

  6. Проверить обновлённый рецепт

    Точная проверка уровня «Проверен полностью» для этой версии записана 2026-10-30.

Прочитать порядок обновления в инструкции по установке ↓

Характеристики

Безопасность и публикация

Уровни установки

Статус показывает, насколько опубликованный рецепт покрывает требования каждого уровня.

Готово

Для дома

Минимальная конфигурация для локальной сети или доступа через VPN.

  • Один сервер
  • Локальный доступ
  • Минимум компонентов

Рецепт закрывает все требования этого уровня.

Готово

Для VPS

Публичная установка с защищённым доступом и резервными копиями.

  • Домен
  • HTTPS через reverse proxy
  • Backup вне сервера

Рецепт закрывает все требования этого уровня.

Частично

Надёжная

Конфигурация для предсказуемой эксплуатации и наблюдаемости.

  • Отдельная БД
  • Healthcheck
  • Внешний мониторинг
  • Лимиты CPU и памяти

Нужно добавить вручную: отдельная бд, внешний мониторинг, лимиты cpu и памяти.

Собрать под свой сервер

Генератор конфигурации

Ответьте на пять вопросов и скачайте готовый комплект Netdata.

Работает локально
01 Есть домен?
02 Какой reverse proxy?
03 Архитектура сервера
04 Где хранить данные?

Укажите абсолютный путь для отдельного диска, например /srv/netdata.

05 Требуется VPN-доступ?

Комплект готов к сборке

Архив создаётся в браузере. Ответы никуда не отправляются.

Те же файлы одним shell-скриптом, обычными heredoc, чтобы всё читалось до запуска. Скрипт проверяет Docker, архитектуру, память, диск и нужные порты и без --apply ничего не пишет.

Скриншоты

Быстрый запуск

Сначала прочитайте полную инструкцию: в ней описаны доступ извне, backup и расположение данных.

Подготовить настройкиcp .env.example .env
Запуститьdocker compose up -d
Проверить состояниеdocker compose ps

Пошаговая инструкция

Установка Netdata

Подготовка Linux-сервера

Нужны Docker Engine и Docker Compose от 2.24 на поддерживаемом Ubuntu или Debian. Команды рассчитаны на Ubuntu 22.04/24.04/26.04 и Debian 12/13; запуск проверен на одном Linux-хосте amd64, а не на каждом дистрибутиве. Установите Docker по официальному руководству для Ubuntu или Debian. Проверьте:

docker version
docker compose version

Администраторы Docker могут управлять хостом. Рецепт читает его метрики и разделяет PID-пространство; запускайте его только на системе, которую вправе мониторить. Rootless Docker и ограничительные политики хоста могут уменьшать доступность метрик и не проверялись.

Поместите весь рецепт в /srv/netdata, включая config/, proxy/ и оба скрипта восстановления. До запуска:

cd /srv/netdata
umask 077
cp .env.example .env
chmod 600 .env
chmod 644 config/Caddyfile config/netdata.conf
docker run --rm -it caddy:2.11.7-alpine caddy hash-password

Интерактивно введите уникальный пароль. Сохраните его в менеджере паролей, а полученный bcrypt-хеш — в значении NETDATA_AUTH_HASH в .env, внутри одинарных кавычек. Задайте собственные имя пользователя и имя хоста. Шаблонный хеш отклоняется до открытия HTTP шлюзом. Публичные файлы конфигурации не содержат пароля и должны читаться непривилегированным шлюзом.

docker compose --env-file .env config --quiet
docker compose --env-file .env up -d --wait --wait-timeout 300
docker compose ps

Первый вход и локальная сеть

Откройте http://127.0.0.1:19999/v3/, введите имя пользователя шлюза и исходный пароль, затем используйте локальную панель без входа в Netdata Cloud. Дождитесь накопления штатных измерений. Рецепт не подключает агент к Cloud. /healthz открыт, но не содержит метрик; /api/v1/info и панель требуют пароль.

Для другой машины предпочтительны SSH-туннель или зашифрованный VPN. Не передавайте Basic-аутентификацию по открытому публичному HTTP. Под Docker Desktop метрики относятся к Linux-VM.

VPS

Оставьте порт на loopback и до настройки HTTPS подключитесь по SSH:

ssh -L 19999:127.0.0.1:19999 user@server

В межсетевом экране разрешите только SSH и нужные HTTPS-порты. Не публикуйте внутренний порт агента и не предоставляйте Docker socket. Защитите и шифруйте внешние копии.

Домен и HTTPS

Направьте DNS-имя на сервер. Примеры используют metrics.example.com: замените его и сохраните аутентификацию шлюза. Внешний прокси должен передавать клиентский Authorization. Проверьте, что анонимный /api/v1/info по-прежнему возвращает 401, а запрос с паролем проходит.

Caddy

Используйте proxy/Caddyfile с установленным на хосте Caddy. Он завершает HTTPS и передаёт запросы на 127.0.0.1:19999; внутренний шлюз продолжает проверять пароль.

Nginx

Используйте proxy/nginx.conf в существующей TLS-конфигурации. Сначала получите сертификат, замените домен и пути сертификатов, выполните nginx -t, затем перезагрузите конфигурацию. Пример сам не получает сертификаты.

Traefik

Подключите proxy/traefik.yaml через file provider к существующим websecure и resolver letsencrypt. Присоедините контейнер Traefik к frontend-сети этого Compose-проекта, обычно netdata_frontend. В ней должно разрешаться имя gateway. Внутренняя сеть агента остаётся отдельной.

Настройки и постоянные данные

Настройка Значение
NETDATA_VERSION Числовая версия Agent; Compose добавляет официальный префикс тега v.
NETDATA_PORT HTTP-порт шлюза на loopback, по умолчанию 19999.
NETDATA_HOSTNAME Имя хоста в агенте; выберите понятное уникальное имя.
NETDATA_AUTH_USER Имя пользователя шлюза.
NETDATA_AUTH_HASH Bcrypt-хеш пароля в одинарных кавычках. Его замена меняет доступ, сохраняя идентификатор агента.
TZ Часовой пояс контейнера, по умолчанию Etc/UTC.

config/netdata.conf настраивает агент, config/Caddyfile — парольный шлюз. В контейнерах они read-only; редактируйте их на хосте и пересоздавайте соответствующий сервис. Остальные стандартные настройки поставляет исходный образ; дополнительные файлы сборщиков и оповещений требуют явных монтирований и проверки.

Том проекта netdata-lib хранит /var/lib/netdata, включая идентификатор и API-ключи. netdata-cache хранит /var/cache/netdata, включая историю dbengine и метаданные SQLite. Для полного восстановления нужны оба тома. Монтирования файловой системы хоста — источники метрик; скрипты backup никогда их не архивируют.

Резервная копия

bash backup.sh

Скрипт ненадолго останавливает шлюз и агент, архивирует оба тома, конфигурацию, .env и Compose в один закрытый архив в backups/. Он запускает только те сервисы, которые работали до копирования; остановленная установка остаётся остановленной. Права архива — 600, каталога копий — 700. Храните зашифрованную копию на другом сервере: локальный архив не защищает от потери хоста.

Восстановление — заменяет идентификатор и историю

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

bash restore.sh -y backups/netdata-YYYYMMDDTHHMMSS-PID.tar.gz
docker compose ps

Скрипт проверяет архив до изменения данных, создаёт страховочную копию, заменяет оба тома и ждёт healthcheck. Текущие конфигурация, хеш пароля и версии образов остаются активными. Если потеряны и файлы установки, сначала извлеките и проверьте configuration.env, compose.yaml и config/ из собственного архива, восстановите .env с правами 600, публичные файлы конфигурации — 644. Не выполняйте source для недоверенного архивного environment-файла. Затем восстановите данные.

Обновление

Прочитайте release notes и сделайте внешнюю копию. Измените NETDATA_VERSION на проверенную числовую версию, затем:

docker compose pull
docker compose up -d --wait --wait-timeout 300
docker compose logs --tail 100 netdata gateway

Версию Caddy в Compose проверяйте отдельно. После изменения любого образа проверьте авторизованные графики и отказ анонимным запросам. Один успешный healthcheck не доказывает сохранность истории.

Откат

Сохраните архив и файлы рецепта до обновления. Остановите обновлённые сервисы, верните проверенные старые Compose/конфигурацию и числовую версию Agent, скачайте закреплённые образы, затем выполните restore.sh -y с архивом до обновления. Не подключайте старый Agent к потенциально мигрировавшей новой базе. После отката проверьте исходный идентификатор агента и исторический интервал.

Остановка и удаление

docker compose down останавливает установку, сохраняя оба тома. docker compose down --volumes безвозвратно удаляет локальные идентификатор и историю. Сначала сохраните и проверьте внешнюю копию. .env, конфигурацию и архивы удаляйте отдельно только при намерении стереть их. Не удаляйте каталоги хоста, которые рецепт читает для мониторинга.

Официальные источники

Контейнер и права сборщиков, панель и Cloud-функции, конфигурация Agent.

Сообщить о проблеме с рецептом

Рассказать, как прошло на вашем сервере

Откроется предзаполненный issue на GitHub. Нужен аккаунт GitHub; после отправки сообщение будет публичным.

Диагностика

Ошибки Netdata

Начните с docker compose ps и docker compose logs --tail 100 netdata gateway. Всегда используйте один и тот же каталог проекта и .env. Не публикуйте пароли, API-ключи или полные архивы в issue.

Шлюз не запускается

Замените шаблон bcrypt-хешем из caddy hash-password. В .env сохраните одинарные кавычки вокруг хеша: знаки доллара не должны интерполироваться. config/Caddyfile должен читаться с правами 644. Официальный бинарник Caddy содержит file capability; рецепт сохраняет NET_BIND_SERVICE даже для порта 8080. Без неё запуск бинарника может завершиться «Operation not permitted».

401, в том числе через HTTPS

Используйте имя пользователя из .env и исходный пароль, а не хеш. Для смены пароля замените хеш и пересоздайте gateway. Внешний прокси должен сохранять Authorization. Не исправляйте 401 обходом шлюза или публикацией порта агента.

Порт не опубликован

Шлюзу нужна frontend bridge-сеть вместе с приватной сетью агента. На некоторых версиях Docker одна internal-сеть не публикует рабочий порт хоста. Сохраните обе сети шлюза; агент остаётся в приватной.

Панель медленно загружается или не достигает network-idle

UI делает live-запросы и может обращаться к доменам Netdata. Ждите появления графиков, а не сетевого простоя. Для встроенного интерфейса открывайте /v3/. Браузерные ресурсы и телеметрия агента — разные механизмы. Кнопка входа в Cloud не означает, что для локального сбора требуется облачная учётная запись. Раздел Live с таблицами функций современного UI требует подключённого агента и входа в Cloud.

Нет метрик процессов, устройств или контейнеров

См. официальную таблицу прав. Рецепт не предоставляет дополнительные SYS_ADMIN/SYS_PTRACE, unconfined-профиль, host networking или Docker socket. Предупреждения о доступе к части дескрипторов процессов ожидаемы. Под Docker Desktop мониторится Linux-VM. Некоторые новые монтирования хоста видны только после перезапуска агента. Полный доступ к физическому оборудованию и метки всех контейнеров не проверены.

Неверные сведения о хосте

Проверьте NETDATA_HOSTNAME и авторизованный /api/v1/info. Сравнивайте число CPU с примонтированным /proc хоста, а не только с ограничениями контейнера. Корень, /proc, /sys и OS-release должны относиться к одному Docker-хосту. Удалённый Docker daemon разрешает bind-пути на своей машине, а не на клиентском ноутбуке.

Архив отклонён или пропала история

Сохраните исходный архив неизменным. Нужны оба архива томов и справочная конфигурация. Абсолютные пути, обход каталогов и ссылки внутри архивов метрик отклоняются. Отказ проверки не должен затрагивать работающую установку. Проверьте свободный диск и совпадение закреплённых версий; восстановление одного /var/lib/netdata не вернёт историю dbengine из /var/cache/netdata.

Находки сканера безопасности

Зафиксированы восемь CRITICAL-находок в пакетах закреплённых образов Agent и шлюза. Некоторые CVE повторяются для разных пакетов. Следите за исправлениями upstream и пересканируйте проверенные образы; успешный запуск или восстановление не означают устранения находок.

Официальные источники

Последний релиз: 2026-10-23 · GitHub Stars: 81 226 · данные проверены 30 окт. 2026 г., 18:17 UTC

Отказ от ответственности

Fossary — независимый информационный каталог, не связанный с разработчиками представленных приложений. Мы собираем сведения из открытых источников и проверяем опубликованные рецепты, но не разрабатываем, не распространяем и не контролируем эти приложения.

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