Netdata это инструмент мониторинга, который в реальном времени показывает, чем занят сервер: процессор, память, диски, сеть, а также Nginx, MySQL, Redis и другие сервисы. Он собирает метрики каждую секунду и почти не требует настройки: поставили и сразу видите графики.
Установка
Самый простой способ, официальный скрипт:
curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh sh /tmp/netdata-kickstart.sh
Скрипт сам выберет подходящий способ установки и настроит автообновление. В Ubuntu Netdata есть и в стандартных репозиториях (sudo apt install netdata), но там версия обычно старее.
Проверяем, что сервис запущен:
systemctl status netdata
Доступ к панели
Панель открывается по адресу http://IP-сервера:19999. Не оставляйте этот порт открытым всему интернету: там видно всё о вашем сервере. Варианты:
- открыть порт только для своего IP через UFW;
- спрятать панель за Nginx с паролем;
- ходить к панели через SSH-туннель:
ssh -L 19999:localhost:19999 user@server; - подключить сервер к Netdata Cloud и смотреть всё через их веб-интерфейс.
Что смотреть
- CPU. Общая загрузка, iowait (ожидание диска) и steal (когда соседи по VPS забирают процессорное время).
- Память. Сколько занято, сколько ушло в кэш и используется ли swap. Если swap растёт, памяти не хватает. Как настроить swap, рассказано в заметке о подкачке.
- Диски. Скорость чтения и записи, загрузка и свободное место.
- Сеть. Трафик по интерфейсам, ошибки и потерянные пакеты.
- Приложения. Netdata сам находит Nginx, PHP-FPM, MySQL, Redis и показывает их метрики, если включены страницы статуса.
Оповещения
В Netdata уже есть сотни готовых правил: заканчивается место на диске, высокая нагрузка, сервис не отвечает. Уведомления можно отправлять на почту, в Telegram и другие каналы. Настройки лежат в /etc/netdata/health_alarm_notify.conf, редактируются командой:
sudo /etc/netdata/edit-config health_alarm_notify.conf
Как это помогает
Netdata быстро отвечает на вопрос, почему сервер тормозит: видно, в какой момент выросла нагрузка и какой процесс её дал. Дальше уже понятно, что делать: ограничить память Redis, подключить кэширование или переехать на более мощный тариф.
