Top.Mail.Ru

Netdata: мониторинг VPS в реальном времени — установка и настройка

22
Netdata: мониторинг VPS в реальном времени — установка и настройка

Netdata собирает метрики сервера с интервалом в одну секунду и отображает их в интерактивном веб-дашборде без предварительной настройки. После установки он автоматически обнаруживает Nginx, MySQL, Redis, Docker и десятки других сервисов — и сразу начинает собирать их метрики. Около 2000 показателей из коробки, потребление RAM около 50 МБ.

Что Netdata мониторит

Из коробки, без дополнительной настройки:

Категория Что отображается
CPU Использование по ядрам, iowait, steal-время
Память RAM, swap, кеш, буферы в реальном времени
Диск IOPS, задержки чтения/записи, очередь
Сеть Трафик по интерфейсам, пакеты, ошибки
Процессы Список, CPU и RAM каждого процесса
Nginx / Apache Запросы в секунду, активные соединения
MySQL / PostgreSQL Запросы, подключения, медленные операции
Redis Команды, hit rate, использование памяти
Docker Метрики каждого контейнера отдельно
Система Прерывания, системные вызовы, контекстные переключения

Главное отличие от Prometheus и Grafana — интервал сбора 1 секунда против 15-60 секунд у большинства альтернатив. На коротких всплесках нагрузки это принципиально: Netdata покажет пик который другие системы просто пропустят между опросами.

Установка

Самый простой и всегда актуальный способ — официальный скрипт:

curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh
sh /tmp/netdata-kickstart.sh

Скрипт определит дистрибутив, установит зависимости и запустит Netdata. На Ubuntu 20.04, 22.04 и 24.04 работает без ручного вмешательства.

Проверить статус после установки:

sudo systemctl status netdata

Должен быть active (running). Netdata также добавляется в автозапуск автоматически.

Важно: безопасность дашборда

По умолчанию Netdata открывает порт 19999 на всех сетевых интерфейсах, включая внешний IP. Это значит что любой в интернете может открыть http://ВАШ_IP:19999 и увидеть полную картину вашего сервера: процессы, базы данных, нагрузку, конфигурации сервисов.

Это нужно закрыть сразу после установки. Есть три подхода.

Вариант 1: привязать к localhost (рекомендуется)

Откройте конфигурационный файл:

sudo nano /etc/netdata/netdata.conf

Найдите или добавьте секцию [web]:

[web]
    bind to = 127.0.0.1

Перезапустите Netdata:

sudo systemctl restart netdata

Теперь дашборд доступен только локально. Для удалённого просмотра используйте SSH-туннель:

ssh -L 19999:127.0.0.1:19999 user@your-server-ip

После этого откройте http://localhost:19999 в браузере на своей машине — увидите дашборд сервера.

Вариант 2: закрыть порт через UFW

sudo ufw deny 19999

Вариант 3: Nginx reverse proxy с паролем

Создайте файл с паролем:

sudo apt install apache2-utils -y
sudo htpasswd -c /etc/nginx/.htpasswd admin

Создайте конфиг Nginx для Netdata:

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

    location / {
        auth_basic "Netdata";
        auth_basic_user_file /etc/nginx/.htpasswd;

        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;
    }
}
sudo nginx -t && sudo systemctl reload nginx

После этого дашборд доступен по домену с запросом логина и пароля.

Интерфейс: что смотреть

Левая панель Netdata — список разделов. Сверху вниз: система (CPU, RAM, сеть, диск), затем обнаруженные сервисы.

Первое на что смотреть при проблемах с производительностью:

system.cpu — если показывает постоянный user выше 80% — приложение нагружает процессор. iowait выше 20% — узкое место на диске, запросы ждут I/O.

system.ram — смотрите на used и cached. Высокое cached — норма, ядро кеширует файлы. Плохо когда used упирается в потолок и swap начинает расти.

disk.io — если writes постоянно высокие — что-то активно пишет на диск. Netdata покажет в разделе Processes что именно.

net.eth0 — входящий и исходящий трафик. Неожиданные пики входящего трафика без соответствующей нагрузки на CPU могут указывать на DDoS.

Алерты

Netdata поставляется с сотнями предустановленных правил алертов: высокая нагрузка CPU, нехватка RAM, заполнение диска, недоступность сервисов. Алерты видны прямо в дашборде красными/жёлтыми маркерами.

Посмотреть все активные алерты:

sudo /usr/libexec/netdata/plugins.d/alarm-notify.sh test

По умолчанию уведомления отправляются на email root@localhost — если почта на сервере не настроена, уведомления не дойдут. Для настройки внешнего email, Telegram или Slack откройте:

sudo nano /etc/netdata/health_alarm_notify.conf

Здесь задаются адреса, токены ботов и другие параметры доставки уведомлений.

Пользовательские правила алертов размещаются в /etc/netdata/health.d/. Например, алерт на заполнение диска более чем на 90%:

alarm: disk_space_usage
on: disk.space
lookup: average -10m unaligned of used
units: %
every: 1m
warn: $this > 80
crit: $this > 90
info: disk space usage

Netdata Cloud: мониторинг нескольких серверов

Если у вас несколько VPS, Netdata Cloud позволяет видеть все серверы в одном интерфейсе на app.netdata.cloud. Данные при этом остаются на ваших серверах — в облако передаются только метаданные для отображения.

Бесплатный тариф охватывает до 5 серверов. После регистрации на сайте вы получите команду для подключения ноды:

sudo netdata-claim.sh -token=ВАШ_ТОКЕН -rooms=ВАШ_ROOM_ID -url=https://app.netdata.cloud

Для самостоятельного хостинга без отправки данных в облако используйте только локальный дашборд с SSH-туннелем.

Сравнение с альтернативами

Инструмент Интервал сбора Настройка RAM Автообнаружение
Netdata 1 секунда Zero-config ~50 МБ Да, автоматически
Prometheus + Grafana 15-60 секунд Сложная 200+ МБ Нет, ручная
Zabbix 1-60 секунд Сложная 256+ МБ Частично
Munin 5 минут Средняя ~30 МБ Нет

Netdata выигрывает в простоте запуска и детализации. Prometheus + Grafana выигрывают в гибкости и долгосрочном хранении исторических данных. Для мониторинга одного-пяти VPS без DevOps-опыта — Netdata очевидный выбор.

Часто задаваемые вопросы

Сколько RAM потребляет Netdata?

В среднем 40-60 МБ. Netdata хранит метрики в памяти (circular buffer) — база данных не требуется. По умолчанию хранится около часа истории в памяти; для более длинных периодов можно включить дисковое хранение.

Безопасно ли оставлять порт 19999 открытым?

Нет. По умолчанию любой может видеть метрики вашего сервера через этот порт. Сразу после установки привяжите Netdata к localhost в netdata.conf или закройте порт через UFW, и используйте SSH-туннель для доступа.

Как Netdata обнаруживает сервисы автоматически?

Netdata проверяет стандартные расположения сокетов и портов для известных сервисов. Нашёл MySQL на 3306 — начал собирать метрики. Нашёл Nginx на 80 — подключил соответствующий коллектор. Никакой ручной настройки для типичных сервисов не нужно.

Можно ли мониторить несколько серверов через Netdata?

Да, двумя способами: через Netdata Cloud (бесплатно до 5 узлов, данные остаются на серверах) или через родительский узел — один сервер собирает метрики с нескольких дочерних через Netdata Streaming.

Как долго Netdata хранит историю метрик?

По умолчанию история хранится в RAM — около одного часа при стандартных настройках. Для длительного хранения включается режим dbengine в netdata.conf, который записывает данные на диск и может хранить недели и месяцы истории при минимальной нагрузке.

Netdata лучше всего раскрывается на VPS с выделенными ресурсами — там метрики отображают реальную картину без шума от соседних процессов. На UFO.Hosting каждый сервер работает на NVMe и даёт предсказуемые метрики I/O без просадок которые характерны для переполненных shared-хостингов.

Официальная документация: learn.netdata.cloud

Похожее

Все статьи
139544

Как вручную настроить статический IP-адрес в Windows

Когда компьютер выходит в сеть, ему нужен адрес, по которому другие устройства и сервисы могут его распознать. Для этого и существует IP-адрес — уникальный сетевой идентификатор. Без него не работает ни обычный доступ в интернет, ни обмен данными внутри локальной…

3629651 812 (3) (1)

Что такое протокол IPv6

При работе в интернете мы редко задумываемся о том, как именно пакеты данных находят путь к нашему устройству. На самом деле за этим стоит строгая система адресации. Каждому гаджету, от Смартфону, игровому компьютеру, умному чайнику и холодильнику — всем этим гаджетам…