Покроковий посібник з моніторингу сервера Debian за допомогою Netdata

Покроковий посібник з моніторингу сервера Debian за допомогою Netdata

10.06.2024
Автор: HostZealot Team
2 мін.
85

Моніторинг вашого сервера є однією з важливих практик, яка може допомогти вам регулярно вживати заходів для покращення продуктивності вашого сайту, виявлення його слабких місць для підвищення його безпеки, а також з'ясувати, як збільшити кількість відвідувачів, досягти кращої 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 на свій розсуд. Щасти вам!

# Як зробити Поділитися:
Статті за темою