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

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

11:38, 13.12.2023

Содержание статьи
arrow

  • Настройка Nginx Amplify на CentOS 8/RHEL 8
  • Настройка модуля Stub_status в Nginx
  • Настройка лог-форматов Nginx
  • Исключение своего IP из журналов доступа Nginx
  • Мониторинг базы данных MariaDB/MySQL
  • Мониторинг производительности PHP-FPM
  • Обзор Amplify
  • Визуализация данных с помощью графиков
  • Навигация по инструментальным панелям Nginx Amplify
  • Углубленный анализ с помощью анализатора Amplify Analyzer
  • Настройка оповещений в Amplify
  • Заключение

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 - это отличный инструмент для анализа и сбора информации, а главное - очень простой и гибкий.

views 1m, 6s
views 2
Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.