Способы оплаты Abuse

Как установить и настроить Netdata для мониторинга сервера

30.06.2025, 19:11

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

Зачем нужен Netdata

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

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

По умолчанию Netdata отображает:
— состояние CPU и RAM;
— активность дисков и сети;
— поведение Docker-контейнеров, MySQL, Redis и многое другое.

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

Перед установкой Netdata стоит убедиться, что система обновлена, иначе могут возникнуть ошибки.

Для Ubuntu/Debian:

sudo apt update && sudo apt upgrade

Для CentOS, AlmaLinux, Rocky Linux:

sudo dnf update

Также понадобится curl — без него установочный скрипт не сработает.

Установка curl:

sudo apt install curl        # для Debian/Ubuntu
sudo dnf install curl        # для CentOS

Если сервер только что развернули, сразу настройте базовую безопасность: создайте пользователя с правами sudo и запретите вход под root.

Установка Netdata

Netdata ставится через один скрипт, который сам определяет ОС, скачивает нужные зависимости и запускает сервис.

Просто выполните:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Скрипт спросит, какой режим выбрать — оставьте вариант по умолчанию (с полной функциональностью). Через пару минут Netdata будет готова к работе.

Теперь откройте браузер и зайдите на:

http://<ваш_IP>:19999

Вы увидите интерактивные графики — всё обновляется в реальном времени. Но пока что интерфейс открыт для всех, кто знает IP. Давайте его защитим.

Настройка доступа через Nginx

Проще всего ограничить доступ к панели через проксирование — например, через Nginx с паролем.

1. Открываем конфиг Netdаta:

 sudo nano /etc/netdata/netdata.conf


 2. Ищем строку bind to, заменяем на:

bind to = 127.0.0.1

Это позволит открывать интерфейс только с самого сервера.

3. Перезапускаем Netdаta:

sudo systemctl restart netdata

4. Ставим Nginx и утилиту для создания паролей:

sudo apt install nginx apache2-utils

5. Создаём файл паролей:

 sudo htpasswd -c /etc/nginx/.htpasswd admin

6. Настраиваем новый сайт:

 sudo nano /etc/nginx/sites-available/netdata

 Вставьте:

 server {
    listen 80;
    server_name ваш_домен;

    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;

        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}

7. Включаем сайт и перезапускаем Nginx:

sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
sudo systemctl reload nginx

Теперь интерфейс доступен только по домену и только с авторизацией.

Как читать графики в Netdata

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

Netdata показывает:
— входящий и исходящий трафик;
— ошибки сети;
— обращения к внешним доменам;
— активность сервисов вроде MySQL, Redis, Docker и других.

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

Как настроить оповещения

Чтобы не сидеть с открытым интерфейсом и ждать проблем, можно настроить оповещения. Например, если нагрузка на CPU держится выше нормы больше минуты — придёт сообщение.

Netdata поддерживает разные каналы: Telegram, почту, Discord и другие.

Для Telegram:
1. Создайте бота через @BotFather — сохраните токен.

2. Найдите ID чата (личного или группы) через @userinfobot.

3. Откройте конфиг:

 sudo nano /etc/netdata/health_alarm_notify.conf

4. Найдите секцию telegram, раскомментируйте строки и вставьте данные:

TELEGRAM_BOT_TOKEN="ваш_токен"
DEFAULT_RECIPIENT_TELEGRAM="ваш_ID"

5. Перезапустите Netdаta:

 sudo systemctl restart netdata

Теперь, если что-то пойдёт не так, вы узнаете об этом сразу.

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

Вывод

Netdata — отличный инструмент для тех, кто хочет видеть, что происходит на сервере прямо сейчас. Она не требует сложной настройки, показывает всё наглядно и умеет присылать уведомления. Установили, настроили доступ, подключили оповещения — и теперь вы всегда знаете, что творится с инфраструктурой. Без догадок, вслепую и паники.