Метрики процесса интеграции
У элемента Процесс Интеграции есть ряд предустановленных метрик. Эти метрики создаются автоматически и отображаются в карточке процесса интеграции во вкладке Метрики. Вы также можете создавать пользовательские метрики процесса интеграции.
В каких случаях может возникнуть потребность к ним обратиться? Например, когда в конечный узел схемы процесса интеграции приходит количество сообщений, отличное от ожидаемого, или полученные сообщения содержат неправильное тело/заголовок. В такой ситуации администратор может открыть окно с метриками в пользовательском интерфейсе процесса интеграции и получить дополнительную информацию по каждому узлу или маршруту на текущий момент в виде таблицы. При помощи этой информации можно отследить, в какой момент и из-за чего произошла ошибка.
Метрики могут быть параметризованными. В таком случае подсчет одной метрики производится одновременно для разных значений параметра. Например, если параметр – расширение файла, тогда метрика считается отдельно для каждого расширения (сколько было в формате .doc, сколько в формате .txt и т. п.). Параметров метрики может быть несколько. Например: имя узла и расширение файла (сколько в данном узле было файлов в формате .doc, сколько в формате .txt и т. п.).
Примеры других задач, которые можно решить с помощью метрик:
- узнать, сколько сообщений прошло через каждый конкретный узел;
- узнать количество сообщений, пришедших из HTTP-источника с кодом ответа 200;
- узнать число файлов, полученных в узле типа ФайлНазначение, в зависимости от расширения;
- узнать, сколько сообщений было модифицировано в конкретном трансляторе.

В «1С:Шине» можно получать метрики без авторизации в формате Prometheus. Для этого используется конечная точка с адресом host:port/applications/app_path/sys/esb/runtime/metrics, с помощью которой администратор «Шины» может реализовывать интеграцию с другими сервисами. Метрики выводятся в следующем формате (для процесса интеграции из примера):
# HELP node_message_counter Счетчик сообщений в узлах
# TYPE node_message_counter gauge
node_message_counter{process="e1c::Пример1::Основной::ОбменССайтом",node_name=""} 0.0 1737468773.0
# HELP node_message_counter_after_process_start Счетчик сообщений в узлах с момента запуска процесса
# TYPE node_message_counter_after_process_start gauge
node_message_counter_after_process_start{process="e1c::Пример1::Основной::ОбменССайтом",node_name=""} 0.0 1737468773.0
# HELP http_node_message_counter Счетчик сообщений в узлах Http
# TYPE http_node_message_counter gauge
http_node_message_counter{process="e1c::Пример1::Основной::ОбменССайтом",response_code="",node_name=""} 0.0 1737468773.0
# HELP translator_node_changed_message_counter Счетчик сообщений, измененных в трансляторе
# TYPE translator_node_changed_message_counter gauge
translator_node_changed_message_counter{process="e1c::Пример1::Основной::ОбменССайтом",node_name=""} 0.0 1737468773.0
# HELP file_node_message_counter Счетчик сообщений в файловых узлах
# TYPE file_node_message_counter gauge
file_node_message_counter{process="e1c::Пример1::Основной::ОбменССайтом",node_name="",file_extension=""} 0.0 1737468773.0
# HELP error_counter Счетчик ошибок в элементах схемы
# TYPE error_counter gauge
error_counter{process="e1c::Пример1::Основной::ОбменССайтом",schema_element=""} 0.0 1737468773.0
# HELP node_undelivered_message_counter Счетчик недоставленных сообщений в узлах схемы
# TYPE node_undelivered_message_counter gauge
node_undelivered_message_counter{process="e1c::Пример1::Основной::ОбменССайтом",node_name=""} 0.0 1737468773.0
Значения предустановленных метрик, которые показываются в пользовательском интерфейсе «1С:Шины», можно получить программно, однако изменять их параметры нельзя.
Предопределенные метрики
Ниже перечислены предопределенные метрики.
Счетчик недоставленных сообщений в узлах схемы
Метрика показывает, сколько сообщений попало в канал недоставленных из каждого узла.
Параметры: имя узла, в котором увеличилась метрика.
Доступ к метрике из кода: ИмяПроцессаИнтеграции.СчетчикНедоставленныхСообщенийУзлов.
Счетчик сообщений в файловых узлах
Метрика показывает, сколько сообщений прошло через каждый файловый узел на схеме.
Параметры: имя узла, в котором увеличилась метрика.
Доступ к метрике из кода: ИмяПроцессаИнтеграции.СчетчикСообщенийФайловыхУзлов.
Счетчик измененных сообщений в трансляторе
Метрика показывает, сколько сообщений было изменено в каждом узле вида «Транслятор».
Параметры: имя узла, в котором увеличилась метрика.
Доступ к метрике из кода: ИмяПроцессаИнтеграции.СчетчикИзмененныхСообщенийТрансляторов.
Счетчик сообщений в узлах Http
Метрика показывает, сколько сообщений прошло через каждый «Http»-узел на схеме.
Параметры: имя узла, в котором увеличилась метрика, и код ответа.
Доступ к метрике из кода: ИмяПроцессаИнтеграции.СчетчикСообщенийHttpУзлов.
Счетчик ошибок в элементах схемы
Метрика показывает, сколько ошибок произошло в каждом элементе схемы.
Параметры: элемент схемы, в котором произошла ошибка.
Доступ к метрике из кода: ИмяПроцессаИнтеграции.СчетчикОшибок.
Счетчик сообщений в узлах
Метрика показывает, сколько сообщений прошло через каждый узел схемы.
Параметры: имя узла, в котором увеличилась метрика.
Доступ к метрике из кода: ИмяПроцессаИнтеграции.СчетчикСообщенийУзлов.
Счетчик сообщений узлов после старта процесса
Метрика показывает, сколько сообщений прошло через узел с момента запуска процесса. При перезапуске процесса значение метрики обнуляется.
Параметры: имя узла, в котором увеличилась метрика.
Доступ к метрике из кода: ИмяПроцессаИнтеграции.СчетчикСообщенийУзловПослеСтартаПроцесса.
Создание пользовательских метрик процесса интеграции
Помимо предустановленных метрик, вы можете использовать пользовательские метрики с нужными вам параметрами. Предположим, есть следующий процесс интеграции:
Сообщения отправляются из узла FtpИсточник, преобразовываются в трансляторе и сохраняются в файл нужному участнику процесса интеграции. Для каждого получателя вы можете подсчитать общий размер файлов, отправленных ему из узла ФайлНазначение. Чтобы это сделать, следует создать новую метрику.
-
В навигаторе проекта кликните на значок плюса рядом с элементом проекта вида Процесс Интеграции и выберите Метрика:

-
Задайте имя метрики (в примере — «РазмерФайлов») и нажмите Ввод. Новая метрика отобразится в навигаторе проекта:

-
Так как необходимо подсчитывать размер файлов для каждого участника индивидуально, метрике следует добавить параметр «КодУчастника». Чтобы добавить параметр, нажмите на значок плюса рядом с метрикой и выберите Параметр:

-
Задайте имя параметра (в примере — «КодУчастника») и нажмите Ввод. Параметр отобразится в навигаторе проекта:

-
Следующим шагом в узле ФайлНазначение, в свойстве ОбновлениеМетрик, следует указать имя обработчика, в котором будет происходить обновление пользовательской метрики. Для этого выделите узел ФайлНазначение и в панели свойств, в свойстве ОбновлениеМетрик, кликните на иконку лупы:

У вас откроется модуль процесса интеграции, в котором будет создан метод с нужной сигнатурой. Имя метода будет сгенерировано автоматически на основе схемы
ИмяЭлемента + ТипОбработчика. Данный метод будет автоматически назначен в качестве обработчика события. Впишите в тело метода следующий код:метод ФайлНазначениеОбновлениеМетрик(Контекст: ИнтеграцияСистем.КонтекстВызова, Сообщение: ИнтеграцияСистем.Сообщение)знч КодУчастника = Контекст.Участник.Кодзнч РазмерТела = Сообщение.ПолучитьТелоКакПоток().ПрочитатьКакБайты().Размер().ВБайтах()ИнтеграцияСистем.Метрики.РазмерФайлов.Увеличить(КодУчастника = КодУчастника, ЗначениеУвеличения = РазмерТела);Таким образом, вы создали метрику, в которой для каждого участника процесса интеграции будет индивидуально подсчитываться общий размер файлов, отправленных в узел ФайлНазначение.