Установка Nginx Amplify на CentOS 8/RHEL 8 для мониторинга производительности стека LEMP

Установка Nginx Amplify на CentOS 8/RHEL 8 для мониторинга производительности стека LEMP

13.12.2023
Автор: HostZealot Team
2 мин.
371

Nginx Amplify - это отличный инструмент для мониторинга веб-серверов Nginx. Его особенность заключается в возможности полного мониторинга стека LEMP. LEMP - это сокращенная версия для PHP, Nginx, Linux и MySQL/MariaDB.

Этот продукт был разработан компанией Nginx. Inc. Функционирование Amplify заключается в сборе и отправке полученных данных в SaaS-сервис. Инструмент считается очень легковесным и имеет открытый исходный код. Если говорить о конкретной информации, которую он собирает, то это такие данные, как:

  • Данные из MariaDB/MySQL (обновление/вставка/выбор запросов, соединения и т.д.)
  • Данные PHP-FPM (медленные запросы, очередь соединений и т.д.)
  • Данные Nginx (трафик, запросы, время ответа, соединения и т.д.)
  • Системные метрики (сетевой трафик, задержка на диске, использование оперативной памяти, процессора и т.д.).

Инструмент также может быть полезен для оповещения о необычном поведении и улучшения конфигурации Nginx.

Настройка Nginx Amplify на CentOS 8/RHEL 8

Сначала пользователям необходимо зарегистрировать свой аккаунт на официальном сайте этого инструмента и пройти верификацию с помощью адреса электронной почты. Далее следует установка агента на сервер. На официальных ресурсах можно найти множество полезных рекомендаций и конкретных команд, которые помогут в процессе установки, поэтому достаточно просто скопировать их.

Важно отметить два момента: эти команды следует выплнять с правами root и при наличии Python2. После того как у вас есть Python2, установите скрипт - запустите его - и проверьте статус после установки.

Настройка модуля Stub_status в Nginx

Агент Nginx Amplify сразу после установки собирает системные данные. Для получения других метрик, например, Nginx, необходимо настроить модуль stub_status. Сначала создайте конфигурационный файл. Затем добавьте следующие строки в контекст http{...}:

server {
     listen 127.0.0.1:80;
     server_name 127.0.0.1;
     location /nginx_status {
        stub_status on;
        allow 127.0.0.1;
        deny all;
        }

На этом все, теперь закройте этот файл с добавленными изменениями и перезагрузитесь.

Настройка лог-форматов Nginx

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

Сначала необходимо открыть конфигурационный файл и над директивами include добавить необходимые строки. Затем создайте пользовательский лог-формат, назовите его APM и заполните информацией о времени upstream_header_time, request_time, upstream_connect_time и др. Затем закройте этот файл с внесенными изменениями.

Чтобы включить журнал ошибок и доступа, добавьте следующие две строки в файл конфигурации виртуального хоста в контексте server {...}:

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

Закройте файл с внесенными изменениями. Теперь все должно работать как надо, а Nginx Amplify будет иметь всю необходимую информацию в графиках.

Исключение своего IP из журналов доступа Nginx

В некоторых случаях можно навредить достоверности данных Nginx своей активностью. Чтобы исключить подобные риски, рекомендуется удалить свой личный IP из журнала доступа.

Для этого необходимо добавить в http-контекст конфигурационного файла следующие строки. При этом номер 23.56.32.23 должен быть заменен на Ваш реальный IP.

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

Последним шагом будет изменение access_log, как указано ниже:

access_log /var/log/nginx/linuxbabe.com.access.log apm if=$log_ip;

Мониторинг базы данных MariaDB/MySQL

Для начала необходимо создать пользователя в MySQL или MariaDB и выполнить вход в учетную запись. Затем необходимо создать нового пользователя для Nginx Amplify и изменить пароль.

Следующим шагом будет выход из сервера и включение плагина MySQL в конфигурационном файле Amplify. Выберите True, и это включит плагин.

После этого в строке [mysql] найдите строку, в которой указаны значения unix_socket и password, и измените эти значения. Пароль должен быть изменен на тот же, что и в агенте Amplify, а unix_socket должен быть следующим:

/var/lib/mysql/mysql.sock

Закройте файл, и в течение нескольких минут агент начнет собирать данные.

Мониторинг производительности PHP-FPM

По умолчанию плагин PHP-FPM включен. Однако для сбора данных этот плагин также должен быть включен. Начните с открытия файла pool конфигурации. Затем найдите указанную ниже строку и удалите точку с запятой:

;pm.status_path = /status

Обзор Amplify

Обзор включает в себя такие ключевые характеристики, как общее количество запросов, использование процессора, ошибки 5xx, трафик, время запроса и оценка работоспособности приложения. Кроме того, можно выбрать временной интервал, есть следующие варианты - 1ч, 4ч, 1д, 2д и 1н. Показатель health score полностью коррелирует с количеством ошибок. Если ошибок нет, то, скорее всего, вы получите 100%.

Визуализация данных с помощью графиков

В разделе "Графики" (Graphs) данные распределены по категориям System, Nginx, MariaDB/MySQL и PHP-FPM. Щелкнув на каждой категории, вы получите несколько графиков в каждой секции. Например, для Nginx будет представлена информация о запросах, соединениях, текущих запросах и текущих соединениях. Кроме того, информация может быть отсортирована по часам, дням и неделям.

Навигация по инструментальным панелям Nginx Amplify

Панели инструментов позволяют создавать настраиваемые графики и диаграммы и отображать их по мере необходимости на одной странице. Графики, которые будут отображаться, выбираются индивидуально, поэтому пользователи могут добавлять в них абсолютно все, что им нравится. Например, можно показать все данные по определенному URL-адресу или вывести все характеристики производительности для лучшей визуализации.

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

Углубленный анализ с помощью анализатора Amplify Analyzer

В категории "Анализатор" (Analyzer) находятся такие разделы, как виртуальные серверы, сборка и статистический анализ. Последний раздел является очень полезным. Nginx Amplify может давать рекомендации на основе конфигурационного файла. Эти рекомендации могут касаться надежности, производительности и безопасности. Перейдя в раздел статического анализа, можно увидеть ошибки и значительно улучшить конфигурацию.

После внесения нескольких корректировок необходимо подождать, пока они будут реализованы и уведомление исчезнет.

Настройка оповещений в Amplify

В случае прекращения работы агента пользователи будут автоматически получать это уведомление по почте. Это функция по умолчанию. Для получения других дополнительных оповещений следует перейти на соответствующую страницу и настроить все необходимое. Например, пользователь может выбрать получение уведомлений, когда время отклика выше по потоку превышает 1 с и длится в течение 3 минут. Также пользователь может выбрать получение писем, когда время восстановления работоспособности составляет менее 120 с в течение последних 3 мин.

Как видите, это очень важный инструмент, который может немедленно сообщить вам, если что-то не работает так, как нужно.

Устранение проблем с агентом Amplify

Бывают ситуации, когда без видимых причин агент перестает отправлять информацию о производительности. В этом случае будет полезно сделать задание Cron для перезапуска агента и решения этой проблемы.

В файл crontab необходимо добавить следующую строку:

@daily systemctl restart amplify-agent

Это означает, что агент будет перезапускаться раз в сутки, и после добавления этой строки закройте файл.

Заключение

Теперь у вас есть полная инструкция по установке Nginx Amplify и началу мониторинга производительности приложения LEMP. Есть несколько дополнительных рекомендаций по созданию собственного лог-формата Nginx, мониторингу серверных баз данных, включению PHP-FPM и многое другое. Помимо мониторинга данных, вся собранная информация может быть легко структурирована в виде графиков и обобщенных дашбордов. Таким образом, все пользователи могут получить необходимую информацию наиболее простым и удобным для них способом. Nginx Amplify - это отличный инструмент для анализа и сбора информации, а главное - очень простой и гибкий.

# Как сделать Поделиться:
Статьи по Теме