Перейти к основному содержимому
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя
Начало работы

Метрики Design Time

Метрики Design Time отражают процессы проектирования и конфигурирования потоков в Bercut ESB: создание и изменение версий, валидацию и публикацию конфигураций. Позволяют отслеживать частоту правок, выявлять ошибки конфигурации до попадания артефактов в Runtime, контролировать версионность и согласованность настроек.

Стандартные метрики OOB

Метрики Node.js

Компоненты на Node.js (включая ESB Core и отдельные адаптеры) предоставляют стандартный набор метрик среды исполнения, позволяющий оценивать нагрузку на процесс, выявлять утечки памяти, блокировки Event Loop и другие проблемы производительности до того, как они начнут влиять на обработку интеграционных сообщений. Подробнее читайте в документации nodejs (официальная документация по Performance Hooks и сбору метрик в Node.js).

DB Connection Pool метрики (на примере pg-pool)

Пул соединений к СУБД (в Bercut ESB реализуется через pg‑pool в связке с Node.js) предоставляет метрики, критически важные для стабильности работы State Collector, Configuration Server и других компонентов, активно взаимодействующих с хранилищем: по этим данным можно отследить исчерпание пула, рост очередей на получение соединения и ошибки выделения ресурсов. Это позволяет своевременно масштабировать или корректировать настройки пула. Подробнее читайте в документации node-postgres.

Метрики Nginx

Nginx выполняет роль входного балансировщика и обратного прокси для API Gateway и O&M UI, а его стандартные метрики позволяют отделять сетевые и инфраструктурные проблемы от сбоев в бизнес‑логике: по показателям активных соединений, распределению HTTP‑кодов и upstream‑задержкам можно локализовать узкие места - от перегрузки ESB Runtime до ошибок маршрутизации на стороне API Gateway. Подробнее читайте в документации nginx (документация модуля stub_status для получения стандартных метрик Nginx).

Для того, чтобы администратор мог фильтровать, агрегировать и строить алерты точечно, а не «по всей системе сразу» применяются лейблы (labels). Они задают контекст каждой метрике.

Набор лейблов для всех метрик Design Time

Ниже приведён базовый набор лейблов, применяемых ко всем метрикам Design Time. Они обеспечивают единообразную идентификацию и фильтрацию данных в Grafana и позволяют сопоставлять показатели с конкретными компонентами и средами развёртывания.

ЛейблОписаниеПример значения
instanceИмя виртуальной машины, на которой размещён сервис. Позволяет локализовать проблему на уровне инфраструктуры.vm-esb-dt-03
environmentИмя окружения ESB. Необходим для разделения продуктивной и тестовых сред, чтобы не смешивать метрики и не срабатывали алерты на тестах.main, dev1, dev2
groupИмя функциональной группы контейнера: указывает, к какому слою архитектуры относится компонент. Задаётся жёстко в конфигурации.ESB-DESIGNTIME
containerИмя Docker‑контейнера. В случае, если на одной виртуальной машине запущено несколько экземпляров сервиса - позволяет смотреть нагрузку по каждому контейнеру отдельно.esb-design-time-v2-8
serviceЛогическое имя сервиса ESB. Помогает группировать метрики по ключевым сервисам платформы и отличать их от сторонних компонентов.ESB-BACKEND

Кастомные метрики

Ниже приведены кастомные метрики Design Time. Они позволяют контролировать операции управления версиями и активациями потоков, оценивать частоту изменений в продуктивной среде, а также выявлять аномалии по длительности операций.

МетрикаОписаниеТип
route_activation_countСчётчик успешных активаций версий потоков. Увеличивается на 1 при каждой успешной активации, в том числе при каскадной активации зависимых дочерних потоков. Позволяет отслеживать частоту деплоев и динамику изменений в продуктивной среде.Счётчик (count)
route_deactivation_countСчётчик успешных деактиваций маршрутов. Увеличивается на 1 при каждой деактивации версии потока, включая каскадные отключения дочерних потоков при деактивации родительского. Помогает оценить частоту откатов, отключений и изменений топологии.Счётчик (count)
route_activation_time_secДлительность операции активации маршрута (версии потока) в секундах. Фиксирует время выполнения всей цепочки действий: проверки зависимостей, согласования версий, каскадных операций и записи изменений в Configuration Server. Используется для выявления аномально долгих активаций.Гистограмма (histogram)
route_deactivation_time_secДлительность операции деактивации маршрута (версии потока) в секундах. Включает время проверки зависимостей, каскадного отключения дочерних потоков, обновления статусов и записи изменений в Configuration Server. Позволяет оценить производительность операций управления версиями и выявить задержки.Гистограмма (histogram)

К стандартному набору лейблов для кастомных метрик добавляется свой набор лейблов:

ЛейблОписаниеПример значения
statusСтатус операции: успех или ошибка. Используется для расчёта доли ошибок, построения rate‑алертов и быстрой фильтрации проблемных событий.success, error
flow_idУникальный идентификатор интеграционного потока. Ключевой лейбл для точечной диагностики: по нему можно собрать полную картину по одному потоку (активации, latency, ошибки).flow-123456
flow_nameЧеловекочитаемое имя потока. Используется в дашбордах и отчётах .OrderToERP_v2
domain_idИдентификатор домена, к которому принадлежит поток.dom-finance