Мониторинг работы Pilot-Server
Метрики Pilot-Server предназначены для мониторинга в реальном времени работы сервера. С помощью них можно отслеживать целый ряд параметров. Таких, как:
- количество взятых лицензий;
- количество клиентских подключений к Pilot-Server;
- количество неуспешных аутентификаций пользователей и администраторов сервера;
- количество непринятых сервером изменений от клиентов;
- количество изменений в очереди на обработку.
Для сервера, установленного на ОС Linux, дополнительно можно следить за сетевой активностью:
- объёмом принятых и отправленных данных;
- количеством входящих и исходящих сетевых соединений;
- количеством потоков в пуле;
- объёмом памяти, использованной процессом Pilot-Server.
Для осуществления мониторинга необходимо установить серверный модуль расширения PilotServer.PrometheusMetrics, систему сбора и анализа данных о состоянии сервера Prometheus, систему визуализации данных Grafana.
Установка примера серверного расширения PilotServer.PrometheusMetrics
Скачайте комплект разработчика SDK с сайта загрузок. Распакуйте архив.
- Перейдите в расположение ...\Server\Extensions\Samples\bin\.
- Если Pilot-Server установлен на ОС Windows, используйте расширение PilotServer.PrometheusMetrics.Windows.zip. Если Pilot-Server установлен на ОС Linux, используйте расширение PilotServer.PrometheusMetrics.Linux.zip.
- Откройте клиентское приложение Pilot. В меню перейдите по пути Сервис → Настройки → Модули расширения;
- В открывшемся окне вызовите контекстное меню → Создать в корне → Расширение Pilot-Server;
- Перезапуститe Pilot-Server. Если Pilot-Server установлен в docker-контейнере, при запуске откройте порт 1234 параметром -p 1234:1234.
- Откройте Pilot-myAdmin и убедитесь, что серверное расширение PilotServer.PrometheusMetrics.serverxt было добавлено.
- Убедитесь, что метрики Pilot-Server выводятся. Для этого откройте страницу браузера по адресу http://<Имя или IP-адрес компьютера, где установлен Pilot-Server>:1234/metrics.
Подключение Prometheus к метрикам из Pilot-Server
Для запуска docker-контейнеров необходим Docker Engine. Установите продукт согласно рекомендациям для вашей операционной системы. Для установки Docker Engine на компьютер без доступа к сети интернет следуйте инструкции по установке из исполняемых файлов. |
Prometheus используется в качестве базы данных метрик Pilot-Server. Данные хранятся и передаются по протоколу HTTP. Для установки и подключения Prometheus выполните следующие шаги:
-
Для загрузки образа контейнера prom/prometheusна компьютере с установленным Pilot-Server в консоли введите команду:
docker pull prom/prometheus
-
Для запуска контейнера из образа prom/prometheus запустите контейнер следующей командой с параметрами:
docker run –-name prometheus -d -p 9090:9090 prom/prometheus
-
Предоставьте доступ контейнеру prometheus к метрикам Pilot-Server. Для этого в запущенном контейнере prometheus найдите файл prometheus.yml по пути /etc/prometheus/ и внесите в него изменения.
Для ОС Windows:
scrape_configs:
- job_name: "Pilot-Server"
static_configs:
- targets: ["host.docker.internal:1234"]
Для ОС Linux в связи с минималистичностью контейнера prometheus редактирование файла prometheus.yml рекомендуется осуществлять с помощью редактора vi:
scrape_configs:
- job_name: "Pilot-Server"
static_configs:
- targets: ["<Имя или IP-адрес компьютера, где установлен Pilot-Server>:1234"]*
Например, - targets ["192.168.8.102:1234"].
-
Сохраните изменения и перезапустите контейнер prometheus.
-
Убедитесь, что prometheus получил доступ к метрикам Pilot-Server. Для этого откройте в браузере страницу по адресу http://<Имя или IP-адрес компьютера, где установлен контейнер prometheus>:9090/, выберите меню Status → Targets или Target health. В качестве Endpoint будут указаны данные из конфигурационного файла prometheus со статусом UP.
Так же при необходимости в файле prometheus.yml в контейнере можно настроить и другие параметры. Такие как, scrape_interval — это частота, с которой Prometheus собирает метрики из приложения или scrape_timeout — время ожидания данных. Более подробно можно ознакомиться в документации Prometheus .
Визуализация данных с помощью Grafana
Для визуализации данных мониторинга Pilot-Server можно использовать веб-приложение Grafana. Для его установки и подключения:
-
На компьютере с установленным Pilot-Server в консоли введите команду загрузки образа контейнера grafana/grafana:
docker pull grafana/grafana
-
Запустите контейнер из образа grafana/grafana со следующими параметрами:
docker run -d -–name grafana -p 3000:3000 grafana/grafana -
Откройте страницу в браузере по адресу http://<Имя или IP-адрес компьютера, где установлен контейнер grafana>:3000/. Для первоначального входа используйте логин admin и пароль admin. После этого задайте свой пароль.
-
Чтобы подключить Prometheus к Grafana на открытой в браузере странице перейдите во вкладку Connections → Add new connection. В представленном списке найдите и выберите Prometheus. В открывшейся странице нажмите Add new data source и в поле Connection введите адрес для ОС Windows http://host.docker.internal:9090, для ОС Linux http://<имя или IP-адрес компьютера, где установлен контейнер prometheus>:9090. После этого нажмите Save & Test.
-
Метрики Pilot-Server отображаются в Grafana с помощью дашбордов. Для сервера, установленного на ОС Windows доступны два дашборда: Internal metrics и Licenses. Для сервера, установленного на ОС Linux доступен также третий дашборд System metrics. Все они поставляются в формате .JSON в комплекте SDK и располагаются по адресу ...\Server\Extensions\Samples\PilotServer.PrometheusMetrics\grafana.
Для добавления дашборда, отображающего метрики:
- Перейдите во вкладку Connection → Data sources.
- На открывшейся странице нажмите Build a dashboard → Import a dashboard.
- Выберите необходимый дашборд и нажмите Import .