[Эта статья была написана Ником Шадрином]
Одной из самых популярных функций в NGINX Plus является мониторинг активности в реальном времени , также известный как расширенные отчеты о состоянии . Монитор активности в реальном времени выдает статистику в реальном времени для вашей установки NGINX Plus, которая необходима для устранения неполадок, создания отчетов об ошибках, мониторинга новых установок и обновлений в производственной среде, а также для управления кэшем.
Мы часто получаем вопросы от инженеров DevOps — как опытных, так и новичков в NGINX Plus — о том, как лучше настроить мониторинг активности в реальном времени. В этом посте мы опишем пример файла конфигурации, который позволит вам просматривать статистику в реальном времени на панели инструментов NGINX Plus всего за несколько минут.
Этот файл представляет собой предварительный просмотр набора примеров файлов конфигурации, которые мы представляем в NGINX Plus R6, чтобы упростить настройку многих расширенных функций NGINX Plus в вашей среде. Набор примеров со временем будет расти, и пакеты NGINX Plus, доступные на cs.nginx.com, будут включать в себя самые последние версии, доступные при создании пакетов.
Вы можете скачать первый пример файла конфигурации для мониторинга активности перед выпуском NGINX Plus R6 на следующей неделе (файл также работает с NGINX Plus R5). Здесь мы рассмотрим инструкции по установке и настройке файла.
Примечание. В этих инструкциях предполагается, что вы используете стандартную схему конфигурации NGINX Plus (в которой файлы конфигурации хранятся в каталоге /etc/nginx/conf.d ), которая настраивается автоматически при установке пакета NGINX Plus. Если вы используете другую схему, настройте команды соответствующим образом.
Установка файла конфигурации
Команды не включают подсказки или другие посторонние символы, поэтому вы можете вырезать и вставить их прямо в окно терминала.
- Загрузите образец файла конфигурации и переименуйте его в status.conf .
cd /etc/nginx/conf.d/ curl http://nginx.com/resources/conf/status.txt > /etc/nginx/conf.d/status.conf
- Настройте свои файлы конфигурации, как указано в разделе Настройка конфигурации .
- Проверьте файл конфигурации на синтаксическую достоверность и перезагрузите NGINX Plus.
nginx -t && nginx -s reload
Информационная панель состояния NGINX Plus доступна сразу по адресу http: // nginx-server-address : 8080 / (или альтернативному номеру порта, который вы настраиваете, как описано в разделе Изменение порта для панели состояния .).
Настройка конфигурации
Чтобы получить максимальную отдачу от мониторинга активной активности, внесите изменения, описанные в этом разделе, как в пример файла конфигурации, так и в существующие файлы конфигурации.
Мониторинг серверов и групп вышестоящих серверов
Чтобы на виртуальной панели отображалась статистика о виртуальных серверах и вышестоящих группах, необходимо включить зону общей памяти в блоке конфигурации для каждого сервера и группы. Общая память используется для хранения информации о конфигурации и состоянии во время выполнения, на которую ссылаются рабочие процессы NGINX Plus.
Если вы не настраиваете общую память, на панели мониторинга отображается только основная информация о количестве подключений и запросов, а также статистика кэширования. На рисунке в окне предварительного просмотра панели инструментов NGINX Plus R6 это соответствует первой строке (справа от логотипа NGINX +) и последнему разделу « Кэши ».
Отредактируйте существующие файлы конфигурации, чтобы добавить status_zone
директиву в server
блок конфигурации для каждого сервера, который вы хотите отобразить на панели инструментов. (Вы можете указать одно и то же имя зоны в нескольких server
блоках, и в этом случае статистика для этих серверов будет агрегирована в сводной панели.)
server { listen 80; status_zone backend-servers; location / { proxy_pass http://backend; } }
Точно так же вы должны добавить zone
директиву в upstream
блок конфигурации для каждой вышестоящей группы, которую вы хотите отобразить на панели мониторинга. В следующем примере выделяется 64 КБ общей памяти для двух серверов в группе upstream-backend . Имя зоны для каждой вышестоящей группы должно быть уникальным.
upstream backend { zone upstream-backend 64k; server 10.2.3.5; server 10.2.3.6; }
Ограничение доступа к панели инструментов
Настройки по умолчанию в примере файла конфигурации позволяют любому пользователю в любой сети получить доступ к панели мониторинга. Мы настоятельно рекомендуем вам настроить хотя бы одну из следующих мер безопасности:
- Списки управления доступом (ACL) на основе IP-адресов. В примере конфигурационного файла, раскомментируйте
allow
иdeny
директивы, и заменить адрес административной сети для 10.0.0.0/8 . Только пользователи в указанной сети могут получить доступ к странице состояния.
allow 10.0.0.0/8; deny all;
- Базовая аутентификация HTTP. В образце файла конфигурации, раскомментируйте
auth_basic
иauth_basic_user_file
директивы и записи добавить пользователя к / и т.д. / Nginx / пользователей файла (например, с помощью Htpasswd генератора). Если у вас установлена Apache, другой вариант — повторно использовать существующий файл htpasswd .
auth_basic on; auth_basic_user_file /etc/nginx/users;
- Клиентские сертификаты, которые являются частью полной конфигурации SSL или TLS. Для получения дополнительной информации см. Терминация SSL NGINX в Руководстве администратора NGINX Plus и документацию для модуля HTTP SSL .
- Межсетевой экран. Настройте брандмауэр, чтобы запретить внешний доступ к порту для панели мониторинга (8080 в примере файла конфигурации).
Изменение порта для панели состояния
Чтобы установить для номера порта для панели мониторинга значение, отличное от значения по умолчанию 8080, отредактируйте следующую listen
директиву в примере файла конфигурации.
listen 8080;
Ограничение отслеживаемых IP-адресов
Если ваш сервер NGINX Plus имеет несколько IP-адресов, и вы хотите, чтобы на приборной панели отображалась статистика только для некоторых из них, создайте listen
директиву для каждого из них, которая указывает его адрес и порт. Пример сценария конфигурации содержит следующий пример, который можно раскомментировать и изменить, чтобы установить правильный IP-адрес. Вы также должны закомментировать listen
директиву (только с номером порта), обсуждаемую в разделе Изменение порта для панели состояния .
listen 10.2.3.4:8080;
Предварительный просмотр приборной панели NGINX Plus R6
Вот краткий обзор новой панели инструментов NGINX Plus, которую мы представим на следующей неделе в NGINX Plus R6.
Дополнительная информация о мониторинге активности в реальном времени
Мониторинг активной активности NGINX Plus в Руководстве администратора NGINX Plus Документация по
модулю HTTP Status