.. _Integration_Telemetry_PrometheusSample:
Настройка сбора метрик в Prometheus
###################################
В качестве примера инструментария для мониторинга метрик будет использован `Prometheus `_.
Установка Prometheus
********************
Для установки необходимо скачать с `официального сайта `_ дистрибутив стабильной или LTS версии.
После этого нужно распаковать содержимое скачанного zip-архива.
Настройка Prometheus
********************
В распакованной папке необходимо создать новый файл ``xde_metrics.yml`` с настройками сбора метрик Продукта.
В ``targets`` задается адрес подключения к соответствующему модулю Продукта:
.. code-block:: yaml
global:
scrape_interval: 1s # интервал сбора метрик
scrape_configs:
- job_name: "api" # метрики Integration API
static_configs:
- targets: ["localhost:6001"]
- job_name: "worker" # метрики Integration Worker
static_configs:
- targets: ["localhost:6800"]
- job_name: "cryptography_api" # метрики Crypto API
static_configs:
- targets: ["localhost:6003"]
- job_name: "archive_api" # метрики Archive API
static_configs:
- targets: ["localhost:6005"]
Затем нужно открыть командную строку и выполнить команду:
.. code-block:: console
prometheus --config.file=xde_metrics.yml
После этого в браузере можно открыть страницу `http://localhost:9090 `_, где будет доступен графический интерфейс Prometheus.
Вывод графика по длительности выполнения запроса
************************************************
В качестве примера будет выведен график длительности обработки запроса на отправку документа в Integration API.
В строке запроса нужно задать ``terralink_xde_request_duration{job="api", handler_type="SendTaskScheduler"}``, где:
* ``terralink_xde_request_duration`` - наименование метрики;
* ``job`` - наименование сервиса, определенное в ``xde_metrics.yml``;
* ``handler_type`` - тип обработчика запроса.
.. image:: img/Prometheus-Request-Duration-Sample.png
:scale: 31
:align: center
:name: Пример вывода графика длительности обработки запроса
На графике видно, что первый запрос был выполнен за 667 миллисекунд, а второй - за 32 миллисекунды.