Мониторинг работы 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 выполните следующие шаги:

  1. Для загрузки образа контейнера prom/prometheusна компьютере с установленным Pilot-Server в консоли введите команду:

    docker pull prom/prometheus

  2. Для запуска контейнера из образа prom/prometheus запустите контейнер следующей командой с параметрами:

    docker run –-name prometheus -d -p 9090:9090 prom/prometheus

  3. Предоставьте доступ контейнеру 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"].

  4. Сохраните изменения и перезапустите контейнер prometheus.

  5. Убедитесь, что prometheus получил доступ к метрикам Pilot-Server. Для этого откройте в браузере страницу по адресу http://<Имя или IP-адрес компьютера, где установлен контейнер prometheus>:9090/, выберите меню StatusTargets или Target health. В качестве Endpoint будут указаны данные из конфигурационного файла prometheus со статусом UP.

    Так же при необходимости в файле prometheus.yml в контейнере можно настроить и другие параметры. Такие как, scrape_interval — это частота, с которой Prometheus собирает метрики из приложения или scrape_timeout — время ожидания данных. Более подробно можно ознакомиться в документации Prometheus .

Визуализация данных с помощью Grafana

Для визуализации данных мониторинга Pilot-Server можно использовать веб-приложение Grafana. Для его установки и подключения:

  1. На компьютере с установленным Pilot-Server в консоли введите команду загрузки образа контейнера grafana/grafana:

    docker pull grafana/grafana

  2. Запустите контейнер из образа grafana/grafana со следующими параметрами:

    docker run -d -–name grafana -p 3000:3000 grafana/grafana
  3. Откройте страницу в браузере по адресу http://<Имя или IP-адрес компьютера, где установлен контейнер grafana>:3000/. Для первоначального входа используйте логин admin и пароль admin. После этого задайте свой пароль.

  4. Чтобы подключить Prometheus к Grafana на открытой в браузере странице перейдите во вкладку ConnectionsAdd new connection. В представленном списке найдите и выберите Prometheus. В открывшейся странице нажмите Add new data source и в поле Connection введите адрес для ОС Windows http://host.docker.internal:9090, для ОС Linux http://<имя или IP-адрес компьютера, где установлен контейнер prometheus>:9090. После этого нажмите Save & Test.

  5. Метрики Pilot-Server отображаются в Grafana с помощью дашбордов. Для сервера, установленного на ОС Windows доступны два дашборда: Internal metrics и Licenses. Для сервера, установленного на ОС Linux доступен также третий дашборд System metrics. Все они поставляются в формате .JSON в комплекте SDK и располагаются по адресу ...\Server\Extensions\Samples\PilotServer.PrometheusMetrics\grafana.

    Для добавления дашборда, отображающего метрики:

    • Перейдите во вкладку ConnectionData sources.
    • На открывшейся странице нажмите Build a dashboardImport a dashboard.
    • Выберите необходимый дашборд и нажмите Import .