Netdata: real-time мониторинг серверов за 10 минут
Семёнов Евгений Сергеевич, директор АйТи Фреш. Когда клиенту надо быстро увидеть, что происходит с сервером прямо сейчас, я ставлю Netdata. Одна команда — и через 30 секунд на экране красивый дашборд с сотнями метрик в реальном времени. Я всегда использую его на этапе инцидента и диагностики, пока Zabbix или Prometheus только разгоняются. В этой статье — вся моя практика по Netdata: от первой установки до кластера на 120+ узлов.
Почему Netdata, а не традиционные инструменты
Zabbix, Prometheus, Nagios — у каждого своё место. Но когда нужен именно real-time drill-down с детализацией до секунды — Netdata не имеет конкурентов.
- Детализация 1 секунда. Видно микроскачки CPU, которые Prometheus со scrape-интервалом 15 секунд усреднит.
- Zero-config. Коллекторы на MySQL, nginx, Docker, Redis, Postgres — работают автоматически без шаблонов.
- ML-обнаружение аномалий. Встроенная модель показывает, какие метрики ведут себя ненормально.
- Минимум ресурсов. На Dell Xeon Platinum 8280 агент забирает меньше 2% одного ядра.
- Красивый UI. Работает из коробки, не надо собирать Grafana-дашборды.
Установка в одну команду
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sh /tmp/netdata-kickstart.sh --release-channel stable --non-interactive
Скрипт сам определит дистрибутив (Ubuntu, Debian, RHEL, Alpine), установит зависимости, настроит systemd-юнит и запустит агент на порту 19999. Через 10 секунд открываем http://server:19999/ и видим полноценный дашборд.
Базовая настройка
Конфиг — /etc/netdata/netdata.conf. Редактирую через официальный edit-config, чтобы дефолтные значения не терялись.
cd /etc/netdata
./edit-config netdata.conf
Что правлю сразу:
[global]
hostname = srv-app01
history = 3600 # секунд хранения в памяти
update every = 1
run as user = netdata
[web]
bind to = 127.0.0.1 unix:/var/run/netdata/netdata.sock
allow connections from = localhost 192.168.10.0/24
После этого дашборд доступен только из внутренней сети. Для внешнего доступа — nginx reverse proxy с basic auth или SSO.
Алерты в Telegram и Slack
Без алертов мониторинг — это просто красивая картинка. Я настраиваю Telegram-уведомления за 3 минуты.
# Получаем Telegram bot token и chat ID
cd /etc/netdata
./edit-config health_alarm_notify.conf
# Правки в конфиге
SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="1234567890:AAHgabc..."
DEFAULT_RECIPIENT_TELEGRAM="-1001234567890"
# Проверка
/usr/libexec/netdata/plugins.d/alarm-notify.sh test
systemctl restart netdata
В health-конфигах добавляю свои пороги. Пример — алерт на использование диска выше 85%:
# /etc/netdata/health.d/disk_custom.conf
template: disk_space_usage
on: disk.space
os: linux
hosts: *
class: Utilization
type: System
component: Disk
every: 1m
warn: $used_percent > 80
crit: $used_percent > 90
info: disk space usage
Parent-Child архитектура для 100+ серверов
Один агент хорошо работает на одном сервере. А что делать с 50 серверами? Самое простое решение — parent-child: child-агенты стримят метрики на parent, который хранит историю на 6–12 месяцев и даёт единую точку входа.
# На parent-сервере
cd /etc/netdata
./edit-config stream.conf
[API_KEY_ГЕНЕРИРУЕТСЯ_UUIDGEN]
enabled = yes
default history = 172800 # 48 часов real-time
default memory mode = dbengine
health enabled by default = auto
allow from = 192.168.10.0/24
# На каждом child-агенте
[stream]
enabled = yes
destination = parent.corp.local:19999
api key = ВАШ_UUID_KEY
timeout seconds = 60
default port = 19999
buffer size bytes = 10485760
У нас на практике один parent на Dell PowerEdge R640 (32 ГБ RAM, 1 ТБ NVMe) спокойно тянет 120 child-агентов с 2-месячным хранением.
Коллекторы для прикладных сервисов
Netdata умеет автоматически собирать метрики с MySQL, nginx, Postgres, Redis, Docker, Kubernetes, PHP-FPM, Elasticsearch и ещё 300+ сервисов. Обычно достаточно поставить агент — он сам обнаружит запущенные сервисы.
# MySQL — только создать пользователя с правом на performance_schema
CREATE USER 'netdata'@'localhost' IDENTIFIED BY '';
GRANT USAGE, REPLICATION CLIENT, PROCESS ON *.* TO 'netdata'@'localhost';
# nginx — включить /stub_status
location /stub_status {
stub_status on;
allow 127.0.0.1;
deny all;
}
Кейс: мониторинг провайдера виртуалок
В ноябре 2025 ко мне обратился оператор виртуальных серверов из Подмосковья: 180 VPS-тачек на 12 гипервизорах Proxmox в дата-центре МТС. Zabbix у них был, но жаловались, что инциденты выявляются медленно — пока срабатывают алерты, клиент уже звонит в панике. Мы развернули Netdata на всех 12 гипервизорах и 180 виртуалках: parent-агент на отдельном Dell PowerEdge R640 (Xeon Platinum 8280, 64 ГБ RAM, NVMe 1.5 ТБ), child на каждом гипервизоре стримит в parent. Настроили Telegram-алерты на 85% CPU, 90% диска, пропадание сети, нагрев выше 70°C. За первый месяц: обнаружено 14 инцидентов, из них 9 — до жалоб клиентов. Среднее время реакции снизилось с 25 минут до 3. Стоимость работы — 65 000 руб.
Интеграция с Prometheus
Если у вас уже есть Prometheus — Netdata умеет отдавать метрики в его формате:
# В prometheus.yml
scrape_configs:
- job_name: 'netdata'
metrics_path: '/api/v1/allmetrics'
params:
format: [prometheus]
static_configs:
- targets: ['netdata01:19999', 'netdata02:19999']
У меня получается интересная комбинация: Netdata для real-time, Prometheus для долгосрочного хранения и корреляций, Grafana — единая панель для бизнес-дашбордов.
Что не стоит мониторить Netdata
- Бизнес-метрики: Netdata — это про технический мониторинг, не про продажи и конверсии.
- SNMP с сетевого оборудования — Netdata это умеет, но Zabbix делает лучше.
- Синтетические проверки HTTP/API — есть Blackbox Exporter или Uptrobot.
Разверну Netdata у вас за один день
Установка на все ваши серверы, parent-child архитектура, кастомные алерты в Telegram, интеграция с Grafana и Prometheus. Обучение вашей команды. Дешевле аналогичной инсталляции Zabbix в 3 раза.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — Netdata
- Чем Netdata лучше Zabbix?
- Netdata ставится одной командой, работает из коробки без настройки шаблонов, показывает метрики с детализацией до секунды. Для быстрого мониторинга 5–50 серверов — лучший выбор.
- Сколько ресурсов потребляет агент?
- Около 1–3% CPU на обычном сервере и 50–150 МБ RAM. Практически незаметен.
- Данные уходят в облако?
- Нет, по умолчанию все метрики остаются локально. Netdata Cloud — это UI-надстройка, данные хранятся на самом агенте.
- Как организовать хранение долгосрочных метрик?
- В parent-child архитектуре: агенты стримят в parent-узел с хранением 6–12 месяцев. Также работает экспорт в Prometheus/InfluxDB.
- Поддерживает ли Windows?
- Да, с 2023 года есть нативный Windows Agent. Но функционал пока уступает Linux-агенту.
