Покроковий посібник з моніторингу сервера Debian за допомогою Netdata
18:04, 10.06.2024
Моніторинг вашого сервера є однією з важливих практик, яка може допомогти вам регулярно вживати заходів для покращення продуктивності вашого сайту, виявлення його слабких місць для підвищення його безпеки, а також з'ясувати, як збільшити кількість відвідувачів, досягти кращої SEO-оптимізації тощо.
Nextdata - це інструмент, який може допомогти вам у вирішенні подібних завдань, дозволяючи збирати дані в режимі реального часу і незалежно від того, яка у вас мережева інфраструктура - VPS або виділений сервер.
Давайте розглянемо цей інструмент і те, як його використовувати для моніторингу сервера Debian.
Вивчення можливостей Netdata
Netdata - це інструмент моніторингу продуктивності та стану систем і додатків з відкритим вихідним кодом, за допомогою якого ви можете візуалізувати та усувати неполадки в роботі системи в режимі реального часу. Основні можливості Netdata включають:
Моніторинг в режимі реального часу
За допомогою Netdata ви можете в режимі реального часу отримувати інформацію про широкий спектр показників, таких як використання процесора, пам'яті, дискового вводу/виводу, мережевого трафіку та багато іншого. Інформація оновлюється щосекунди, тому ви можете будь-коли перевірити, що відбувається з вашою системою.
Не потребує конфігурації
Після встановлення Netdata більше немає необхідності в додатковій конфігурації. Як тільки він буде встановлений, він автоматично почне відстежувати різноманітні системні показники, а також програми та сервіси без будь-яких додаткових дій з вашого боку.
Веб-панель моніторингу
У Netdata ви можете використовувати інтерактивну веб-панель з детальним і всебічним оглядом продуктивності вашої системи. Панель має широкі можливості налаштування, тому ви можете отримати все, що хочете, незалежно від ваших уявлень про це.
Велика колекція метрик
Збирайте тисячі метрик з різних ресурсів, включаючи ОС, додатки, а також сторонні сервіси, щоб контролювати ваші проекти з усіх сторін.
Сповіщення
Окрім моніторингу в режимі реального часу, Netdata також підтримує функції сповіщення. Таким чином, наприклад, ви можете налаштувати сповіщення для певних показників, щоб отримувати сповіщення, як тільки перевищується певний поріг, щоб ви завжди були готові до вирішення критичних проблем.
Легкий та ефективний
Хоча інструмент Netdata є дійсно масивним з точки зору своєї функціональності, він також розроблений таким чином, щоб бути не ресурсо затратним, але ефективним. Оскільки його вимоги до ресурсів мінімальні, ви можете запустити його навіть на найпростішому VPS.
З відкритим вихідним кодом і керований спільнотою
Netdata - це рішення з відкритим вихідним кодом, тому його розвитком керує величезна спільнота користувачів, які можуть вносити власні модифікації до програми.
Крос-платформна підтримка
Netdata може працювати на різних поширених операційних системах, включаючи більшість дистрибутивів Linus, macOS, а також FreeBSD. Її можливості моніторингу можуть поширюватися на контейнери Docker, кластери Kubernetes і багато інших середовищ, тому її можна вважати дійсно універсальною.
Етап 1: Встановлення залежностей
Тепер перейдемо до процесу встановлення Netdata.
Перш ніж перейти до встановлення Netdata, переконайтеся, що ви встановили необхідні залежності:
sudo apt update && sudo apt upgrade -y
sudo apt install dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libassuan0 libksba8 libnpth0 pinentry-curses
Етап 2: Встановлення Netdata
Рекомендованим методом встановлення Netdata є використання скрипту kickstart.sh. Запустіть цю команду і кожного разу вибирайте YES:
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --stable-channel
-stable-channel у команді означає встановлення стабільної версії.
Після успішного встановлення ви побачите повідомлення, що починається з "Успішно встановлено Netdata Agent".
Статус можна перевірити за допомогою команди:
$ systemctl status netdata
Тепер ви можете отримати доступ до Netdata через браузер за допомогою команди
http://<your-ip-address>:19999
Етап 3: Налаштування Netdata
Після встановлення Netdata почне прослуховувати кожен інтерфейс на вашому сервері, що означає максимальну потенційну поверхню атаки. Щоб мінімізувати поверхню атаки і таким чином підвищити безпеку всього сервера, рекомендується налаштувати Netdata на прослуховування тільки на localhost.
Зробіть це, відкривши файл, як показано на малюнку, і додавши рядки в розділі [global]
$ sudo vim /etc/netdata/netdata.conf
[global]
run as user = netdata
# default storage size - increase for longer data retention
page cache size = 32
dbengine multihost disk space = 256
bind to = 127.0.0.1
Для того, щоб зміни набули чинності, перезапустіть Netdata:
-stable-channel у команді означає встановлення стабільної версії.
Після успішного встановлення ви побачите висновок, що починається з "Успішно встановлено Netdata Agent".
Статус можна перевірити за допомогою команди:
$ systemctl status netdata
Тепер ви можете отримати доступ до Netdata через браузер за допомогою команди
http://<your-ip-address>:19999
1. Встановлення Nginx
Для більш ефективного захисту і управління доступом, вам слід налаштувати Nginx в якості зворотного проксі-сервера:
$ sudo apt install nginx
Після успішного встановлення створіть конфігураційний файл для Netdata в Nginx:
$ sudo nano /etc/nginx/sites-available/netdata
Додайте наступну конфігурацію, скоригувавши ім'я_сервера відповідно до вашого домену або IP-адреси:
server {
listen 80;
server_name your_server_ip;
location / {
proxy_pass http://localhost:19999;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Увімкніть конфігурацію, створивши симлінк:
$ sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
Нарешті, перевірте наявність синтаксичних помилок і перезапустіть Nginx:
$ sudo nginx -t
$ sudo systemctl restart nginx
2. Аутентифікація за допомогою пароля
Наразі Netdata є відкритою і доступ до неї може отримати будь-який користувач. Щоб дозволити тільки авторизованим користувачам переглядати інформацію про сервер через Netdata, вам слід налаштувати парольну автентифікацію. Встановіть утиліти Apache2 і створіть файл .htpassword, в якому будуть зберігатися ім'я користувача і пароль.
$ sudo apt-get install apache2-utils
Створіть файл і додайте ім'я користувача, замінивши username на бажане ім'я користувача:
$ sudo htpasswd -c /etc/nginx/.htpasswd ім'я користувача
Оновіть конфігурацію Nginx для Netdata, щоб включити парольну автентифікацію:
$ sudo nano /etc/nginx/sites-available/netdata
Додайте наступні рядки всередині розташування / block:
auth_basic "Protected";
auth_basic_user_file /etc/nginx/.htpasswd;
Перевірте, чи все введено правильно, і перезапустіть Nginx ще раз:
$ sudo nginx -t
$ sudo systemctl restart nginx
Завершення
Це був короткий посібник про те, як почати використовувати Netdata для моніторингу вашого сервера Debian. Це дуже універсальний інструмент, який дозволить вам відстежувати показники різних аспектів продуктивності вашого сервера. Як ви бачили, він не потребує тривалого початкового налаштування, тому, якщо ви дотримувалися наведених інструкцій, то легко зможете використовувати Netdata на свій розсуд. Щасти вам!