Моніторинг продуктивності стеку LEMP за допомогою Nginx Amplify на Ubuntu 20.04/18.04

Моніторинг продуктивності стеку LEMP за допомогою Nginx Amplify на Ubuntu 20.04/18.04

12.12.2023
Автор: HostZealot Team
2 мін.
128

Nginx Amplify - це гнучке і, що ще краще, безкоштовне рішення, яке застосовується для аналізу, характеристик продуктивності та навантаження веб-серверів Nginx. Він надзвичайно простий і поєднується з такими плагінами, як PHP-FPM, MySQL, що дозволяє проводити повний моніторинг.

Цей агент був розроблений компанією Nginx. Просто встановіть Nginx Amplify на сервер, і він буде функціонувати, збираючи всю необхідну інформацію і відправляючи її в SaaS-сервіс. Amplify збирає наступні дані:

  • Дані MariaDB/My SQL (запити на оновлення, запити на вибірку/вставку/повільні запити та інші)
  • Дані Nginx (трафік, запити, час відповіді, статус HTTP та інші)
  • Дані PHP-FPM (почерговість з'єднань, повільні запити та інші)
  • Системні метрики (використання диска/затримка, використання оперативної пам'яті, процесора, мережевого трафіку та інші)

Встановлення Nginx Amplify на сервері Ubuntu 18.04/20.04

Щоб встановити цей агент, спочатку вам потрібно зареєструвати обліковий запис. Після перевірки електронної пошти, наступним кроком буде встановлення агента на сервер. Всі необхідні команди для процесу встановлення доступні на офіційному сайті цього агента. Просто скопіюйте їх на сервер. Єдине, про що слід пам'ятати, - всі ці команди потрібно виконувати з кореневого доступу.

Весь процес виглядає наступним чином - встановлення агента - завантаження скрипту - запуск скрипту - перевірка статусу.

Налаштування stub_status в конфігурації Nginx

Щоб почати процес збору метрик, налаштуйте stub_status Nginx. Спочатку відкрийте файл з назвою nginx.conf. Додайте серверну частину в контексті http {...}. Після внесення цих змін збережіть їх і закрийте цей файл. Щоб почати збирати потрібні метрики, перезавантажте Nginx.

Налаштування формату журналу Nginx

Для отримання необхідної інформації про продуктивність програми, такої як кількість звернень до кешу, час запиту, час відповіді та ін., необхідно створити власний формат журналу. Спочатку відкрийте файл з назвою nginx.conf.

Після цього додайте кілька рядків в контексті http {...}. Наприклад, користувачеві потрібно створити формат логу з ім'ям apm, який міститиме інформацію про upstream_connect_time (час на з’єднання з сервером) і upstream_header_time (час отримання заголовків), request_time (час запиту), і upstream_response_time (час відклику). Закрийте файл і відкрийте файл конфігурації віртуального хоста. Додайте наступні 2 рядки в контексті сервера {...}:

access_log /var/log/nginx/linuxbabe.com.access.log apm;
error_log /var/log/nginx/linuxbabe.com.error.log warn;

Після закриття цього файлу перезавантажте Nginx. Все повинно працювати чудово. Якщо щось перестало працювати, ви можете знайти нову версію Nginx і зробити необхідні оновлення.

Виключення вашої IP-адреси з журналу доступу Nginx

Виключити IP-адресу дуже просто. Заповніть всі наступні рядки конфігураційного файлу Nginx і змініть потрібну IP-адресу.

map $remote_addr $log_ip {
    "12.34.56.78" 0;
    default 1;
}


Після цього змініть директиву access_log і закрийте файл. Звичайно, не забудьте перезавантажити Nginx.

Моніторинг серверів баз даних MariaDB/MySQL

Почніть зі створення користувача в My SQL/MariaDB і увійдіть в відстеження. За допомогою агента Amplify вам потрібно буде створити нового користувача і змінити пароль. Вийдіть з сервера. Потім використовуйте наступний рядок, щоб увімкнути плагін Amplify в конфігураційному файлі.

sudo nano /etc/amplify-agent/agent.conf

Після цього виберіть значення True, щоб увімкнути потрібний плагін. Далі в розділі My SQL змініть пароль за замовчуванням і перезапустіть агента.

Включення журналу повільних запитів MariaDB

Журнал повільних запитів відповідає за показ того, які запити потребують більше часу для відповіді. Для його ввімкнення потрібно відредагувати конфігураційний файл сервера. У файлі знайдіть рядок з long_query_time і видаліть #. Потім змініть значення на 1 секунду або ви можете вказати 0.5.

Після цього додайте наступний рядок, щоб увімкнути роботу цього логу запитів.

 slow_query_log = 1

Закрийте файл із збереженими змінами і перезапустіть My SQL або MariaDB.

Налаштування журналу повільних запитів в MySQL 8

Для користувачів MySQL 8 потрібно відредагувати конфігураційний файл, додавши наступні рядки в кінці цього конкретного файлу:

slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 1
log-queries-not-using-indexes = ON
slow_query_log = 1

На завершення закрийте цей файл і перезавантажте сервер.

Моніторинг продуктивності PHP-FPM

За замовчуванням PHP-FPM вимкнено, тому для збору інформації вам потрібно змінити цей статус, відредагувавши конфігураційний файл пулу.

У файлі необхідно знайти наступний рядок і видалити крапку з комою:

;pm.status_path = /status

Виконуючи цей крок, ви вмикаєте моніторинг продуктивності. Закриваємо і перезапускаємо, після чого відбувається збір метрик.

Аналіз показників ефективності за допомогою графіків

На сторінці огляду ви можете перевірити всю необхідну інформацію у вигляді графіків. На цій сторінці графіків ви можете побачити такі дані, як MySQL, Nginx, Система і PHP-FPM.

Nginx розширює можливості інформаційної панелі

Інформаційні панелі допомагають створювати кастомізовані діаграми/графіки на одній сторінці. Наприклад, користувачі можуть легко показати всі дані про певну URL-адресу.  Також можна додавати графіки кешу Nginx на дашборд.

Використання аналізатора Amplify Analyzer

Аналізатор Nginx amplify - це дійсно корисний інструмент для проведення необхідного аналізу. За допомогою цієї функції можна отримати деякі рекомендації щодо безпеки, продуктивності та надійності. Крім того, він може бути застосований для ідентифікації помилок.

Налаштування сповіщень для моніторингу

Якщо агент Nginx Amplify не працює, ви отримаєте сповіщення про це по електронній пошті. Інші сповіщення також можуть бути налаштовані на вашу адресу електронної пошти. Наприклад, користувач може вибрати отримання листів, якщо час відповіді більше 1 секунди за останні 4 хвилини.

Ви також можете отримати сповіщення, якщо виникла помилка 5xx або на сервері закінчилася оперативна пам'ять.

Моніторинг продуктивності сервера Linux

Nginx Amplify використовується для моніторингу продуктивності PHP, My SQL і Nginx. Однак, для отримання додаткової інформації про операційну систему, продуктивність або характеристики диска, ви можете використовувати Netdata.  

Підсумки: Основні тези та рекомендації

Тепер ви знаєте про найкорисніший агент для моніторингу продуктивності сервера, який називається Nginx Amplify. У статті ви отримали інструкцію щодо його встановлення, налаштування функцій моніторингу, а також графіки, які ви можете використовувати для візуалізації.

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