Post

Netdata: моніторинг VPS в реальному часі — безкоштовно

Netdata: моніторинг VPS в реальному часі — безкоштовно

Довго не мав нормального моніторингу на своєму VPS — просто зрідка заходив і дивився htop. Але це не моніторинг, це лотерея. Вирішив виправити ситуацію і поставив Netdata.

Що таке Netdata

Netdata — безкоштовний інструмент моніторингу з відкритим кодом. Збирає тисячі метрик кожну секунду і показує їх у красивому веб-дашборді: CPU, RAM, диск, мережа, процеси, сервіси — все в реальному часі з красивими графіками.

На моєму VPS він одразу знайшов 4817 метрик. 4817, Карл.

Встановлення на AlmaLinux 9

Встановлення одним рядком — скрипт сам визначає дистрибутив:

1
LANG=en_US.UTF-8 bash <(curl -SsL https://get.netdata.cloud/kickstart.sh)

Зверни увагу на LANG=en_US.UTF-8 на початку — без цього на AlmaLinux 9 з кирилицею в терміналі виникає помилка UTF-8 в dnf. Дрібниця, але вбиває годину пошуку причини.

Після встановлення запускаємо і вмикаємо автозапуск:

1
2
3
systemctl start netdata
systemctl enable netdata
systemctl status netdata

Перевіряємо що працює:

1
curl -s http://localhost:19999/api/v1/info | head -5

Якщо бачиш версію і uid — все добре.

Доступ до дашборду

Netdata слухає на порту 19999. Відкривати цей порт напряму в інтернет — погана ідея. Натомість використовуємо SSH-тунель:

1
2
# На Windows
ssh -L 19999:localhost:19999 root@sedunlab.com

Поки це вікно відкрите — заходь на http://localhost:19999 і бачиш повний дашборд свого сервера.

При першому відкритті Netdata запропонує Sign-in через Netdata Cloud. Можна зареєструватись для додаткових функцій, але якщо хочеш просто локальний моніторинг — натискай “Skip and use the dashboard anonymously” внизу праворуч.

Що показує дашборд

Netdata дашборд Дашборд Netdata — CPU, RAM, диск і мережа в реальному часі

Зліва — дерево метрик. Основні розділи:

  • System → Compute → CPU — завантаження процесора по ядрах, load average, системний та користувацький час
  • System → Memory — RAM, swap, кеш
  • System → Storage — читання/запис дисків, IOPS
  • System → Network — трафік по інтерфейсах
  • System → Processes — які процеси скільки їдять
  • Applications — розбивка по конкретних програмах

Вгорі — зведені циферблати: поточне навантаження CPU і RAM, мережевий трафік, дискові операції.

Графіки інтерактивні — можна наводити мишею, масштабувати, порівнювати часові проміжки.

Що я побачив після встановлення

Сервер працює спокійно — CPU майже нульовий більшість часу, пики видно лише коли Jekyll збирає сайт після git push. Load average тримається біля 0.2-0.3. RAM використовується приблизно на 40% — є запас.

Без моніторингу я б цього просто не знав.

Корисні команди

1
2
3
4
5
6
7
8
# Перезапустити Netdata
systemctl restart netdata

# Подивитись логи
journalctl -u netdata -f

# Конфігурація
nano /etc/netdata/netdata.conf

Висновок

Встановлення займає 5 хвилин, дашборд виглядає серйозно, і все це безкоштовно. Єдиний мінус — порт не відкриваємо назовні, тому доступ тільки через SSH-тунель. Але це скоріше перевага з точки зору безпеки.

Наступний крок — Uptime Kuma для моніторингу доступності самих сайтів з повідомленнями в Telegram. Про це окрема стаття.

This post is licensed under CC BY 4.0 by the author.