Покрокова інструкція: Як увімкнути сторінку стану Nginx

watch 57s
views 2

12:53, 06.05.2025

Зміст статті
arrow

  • Активація модуля ngx_http_stub_status_module для NGINX
  • Налаштування панелі стану NGINX
  • Встановлення конфігурації сервера за замовчуванням
  • Вставка директиви stub_status
  • Реалізація контролю доступу до сторінки стану NGINX
  • Застосування змін і перевірка конфігурації
  • Перегляд інформаційної панелі стану NGINX
  • Аналіз метрик стану NGINX
  • Підключення даних про стан NGINX до систем моніторингу
  • Використання DataDog для моніторингу NGINX
  • Загальне рішення для моніторингу аптайму
  • Висновок

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

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

Активація модуля ngx_http_stub_status_module для NGINX

Перш ніж переглядати сторінку стану Nginx, потрібно переконатися, що модуль ngx_http_stub_status_module активовано. Більшість дистрибутивів Nginx зазвичай мають його, але якщо ви виявите, що його немає, вам слід встановити іншу версію Nginx, яка має цей модуль.

Щоб перевірити, чи включено модуль, виконайте наступну команду:

nginx -V 2>&1 | grep -o with-http_stub_status_module

Якщо на виході ви побачите http_stub_status_module, це означає, що модуль включено. Якщо ні, спробуйте встановити версію Nginx, яка містить згаданий модуль. Більшість менеджерів пакетів пропонують пакет nginx-full, який містить модуль http_stub_status_module. Крім того, ви можете виконати наступну команду для його встановлення:

apt-get install nginx-full

Налаштування панелі стану NGINX

Тепер, коли ми переконалися, що у нас є модуль, давайте налаштуємо сторінку стану. Для цього відкрийте конфігураційний файл Nginx (знаходиться в /etc/nginx/nginx.conf або /etc/nginx/conf.d/default.conf).

Встановлення конфігурації сервера за замовчуванням

Знайдіть у файлі блок default_server. Якщо ви не можете знайти його, вам потрібно створити його, вставивши наступне в блок конфігурації HTTP:

server { 
listen 80; 
listen [::]:80; 
server_name _; # catch-all domain 
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
    location = /404.html {
}
error_page 500 502 503 504 /50x.html;
    location = /50x.html {
}
}

Вставка директиви stub_status

Тепер нам потрібно визначити блок розташування для модуля stub_status. Блок розташування допоможе нам визначити HTTP-шлях до сторінки статусу.

Додайте наступний блок розташування до блоку сервера за замовчуванням:

location /nginx/status { 
stub_status; 
}

Реалізація контролю доступу до сторінки стану NGINX

Сторінка статусу потребує контролю доступу, оскільки вона містить конфіденційні дані, які потенційно можуть бути використані зі зловмисними намірами. Вам потрібно обмежити IP-адреси, які можуть переглядати сторінку статусу, додавши директиви дозволу/заборони до блоку розташування. Ви можете зробити це, виконавши наступні команди:

location /nginx/status { 
stub_status; 
allow 127.0.0.1; 
deny all; 
}

Ми рекомендуємо дозволити доступ до сторінки внутрішнім мережам, додавши рядок: allow 10.0.0.0/8.

Застосування змін і перевірка конфігурації

Далі давайте застосуємо зміни і перевіримо конфігурацію. Спочатку збережіть конфігураційний файл Nginx. Потім протестуйте конфігурацію, виконавши наступну команду:

nginx -t

Після того, як конфігурація буде повністю протестована, перезавантажте сервер Nginx, щоб застосувати зміни:

nginx -s reload

Перегляд інформаційної панелі стану NGINX

Існує кілька способів перегляду панелі стану Nginx: через веб-браузер або інструмент командного рядка.

Якщо ви хочете використовувати браузер, відкрийте вікно 127.0.0.1/nginx/status.

Якщо ви хочете скористатися інструментом командного рядка, наприклад, curl, виконайте наступну команду:

curl http://127.0.0.1:80/nginx/status

Аналіз метрик стану NGINX

Сторінка стану NGINX надає декілька метрик, зокрема:

  • Активні з'єднання: Кількість активних на даний момент з'єднань.
  • Прийняті з'єднання: Загальна кількість прийнятих з'єднань.
  • Оброблені з'єднання: Загальна кількість оброблених з'єднань.
  • Запити: Загальна кількість оброблених запитів.
  • Запити на читання: Кількість запитів, які зараз читаються.
  • Написання відповідей: Кількість відповідей, які зараз пишуться.
  • Очікування з'єднання: Кількість з'єднань, що очікують на відповідь.
  • Читання з файлу: Кількість запитів на читання з файлу.

Підключення даних про стан NGINX до систем моніторингу

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

Використання DataDog для моніторингу NGINX

Щоб почати використовувати DataDog для моніторингу Nginx, відредагуйте файл nginx.d/conf.yaml  і встановіть параметр nginx_status_url  у значення http://127.0.0.1:80/nginx/status.

Все, що залишилося зробити - перезапустити DataDog.

Загальне рішення для моніторингу аптайму

Ви також можете використовувати інші рішення для моніторингу, такі як Prometheus, Grafana або будь-який інший сервіс, який дозволяє перевіряти HTTP. Просто направте ці інструменти на URL-адресу сторінки статусу Nginx.

Висновок

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

Поділитися

Чи була ця стаття корисною для вас?

Популярні пропозиції VPS

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

Ми використовуємо файли cookie, щоб забезпечити вам найкращий досвід роботи на нашому сайті. Якщо ви продовжуєте користуватися сайтом, не змінюючи налаштувань, вважайте, що ви згодні на отримання всіх файлів cookie на сайті HostZealot.