Netdata: real-time мониторинг серверов за 10 — АйТи Фреш
· 15 мин чтения

Netdata: real-time мониторинг серверов за 10 минут

Netdata: real-time мониторинг серверов за 10 минут

Привет! Я Евгений Семёнов, директор ITFresh. Знаете, когда клиенту нужно СРОЧНО понять, что происходит с сервером вот прямо сейчас? Я, не раздумывая, ставлю Netdata. Одна команда, буквально 30 секунд — и что вы видите? Шикарный дашборд с сотнями метрик, все в реальном времени! Для меня это просто спасение на первых минутах инцидента или для быстрой диагностики, пока Zabbix или Prometheus ещё только просыпаются. Здесь я расскажу о своём опыте с Netdata — от первой установки до кластера из 120+ узлов.

Почему Netdata, а не традиционные инструменты

Конечно, у Zabbix, Prometheus, Nagios есть свои ниши. Но когда вам нужен по-настоящему глубокий анализ в реальном времени, с детализацией до секунды? Тут Netdata просто вне конкуренции.

Установка в одну команду

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

После установки дашборд Netdata по умолчанию доступен только внутри вашей сети. Если же нужен внешний доступ, например, для удалённых сотрудников — мы всегда рекомендуем использовать nginx reverse proxy с basic auth или SSO. Безопасность превыше всего!

Алерты в Telegram и Slack

Мониторинг без алертов? Это же просто красивая, но бесполезная картинка! А вот настроить Telegram-уведомления — это дело трёх минут. Разве не здорово?

# Получаем 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+ серверов

Один агент Netdata прекрасно справляется с одним сервером. Но как быть, если у вас их 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 и ещё более чем трёхстах других! Обычно достаточно просто установить агент. Он сам, без каких-либо дополнительных настроек, найдёт все запущенные у вас сервисы. Магия, да и только!

# 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 — для молниеносного мониторинга в реальном времени, Prometheus — для надёжного долгосрочного хранения и сложных корреляций, а Grafana становится той самой единой панелью для ваших бизнес-дашбордов. Эффективно и прозрачно!

Что не стоит мониторить Netdata

Разверну 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-агенту.

Подпишитесь на рассылку ITfresh

Каждую неделю мы делимся практическими гайдами, которые будут полезны и IT-руководителям, и сисадминам. От безопасности и 1С до миграций, резервных копий — это настоящие лайфхаки, проверенные в реальных проектах!

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.