Перейти к основному содержимому
Версия: 2.0 (WIP)

FESB

FESB - это полнофункциональное промежуточное программное обеспечение, которое предоставляет мощный набор инструментов и функциональных возможностей разработчикам и администраторам

Мониторинг FESB охватывает ключевые компоненты домен, менеджеры очередей, каналы, очереди, маршруты и т.д. Важно собирать информацию о структуре FESB и состоянии каждого компонента – это обеспечивает стабильность, производительность и отказоустойчивость системы.

Памир понимает структуру FESB и строит его сервисно-ресурсную модель (СРМ). СРМ FESB - это иерархическая структура, которая описывает компоненты FESB и их взаимосвязи. Она помогает систематизировать мониторинг, управление и планирование ресурсов.

Уровни модели СРМ

Тип сервера (кластер)  

├── ✅ FESB (Экземпляр FESB)
│ │
│ ├── ✅ Группа доменов (domain_group)
│ │ │
│ │ └── ✅ Домен (domain)
│ │ │
│ │ └── ✅ СОПС (маршруты)
│ │
│ ├── ✅ Менеджер очередей (QM)
│ │ │
│ │ └── ✅ Очередь (Queue)
│ │
│ ├── ✅ Канал (Channel)
│ │
│ └──✅ Приёмник (Connector) – при необходимости

├── ✅ Расширенный менеджер очередей (QME)
│ │
│ └── ✅Расширенная очередь (extended_queue)

├── Прочие компоненты (при необходимости)

└── Физические ресурсы OS (CPU, RAM, Disk, Network)

✅ — отмечены уровни, включённые в шаблон мониторинга FESB. Ниже приведены описания уровней модели.

FESB Сервер

Атрибуты:

  • Название: Имя FESB
  • Наименование КЕ: Отображаемое имя на дашбордах/графе.
  • IP адрес: IP-адрес сервера.
  • Ревизия: Дополнительная информация о сборке.
  • Версия продукта: Версия продукта.
  • Версия JVM: Версия виртуальной машины Java .
  • Путь установки: Корневая директория FESB (root_directory).

Группа доменов

Атрибуты:

  • Название: Имя группы доменов
  • Наименование КЕ: Отображаемое имя на дашбордах/графе.

Домен

Атрибуты:

  • Название: Имя домена.
  • Наименование КЕ: Отображаемое имя на дашбордах/графе.
  • Статус домена: запущен/остановлен .
  • Свойства Домена, Дополнительная конфигурация: Настройки домена
  • Константы: Служебные переменные, доступные внутри маршрутов.
  • GUID: Идентификатор домена.

Маршруты (СОПС)

Атрибуты:

  • Название: Имя маршрута
  • Состояние: Запущен/остановлен
  • Процессы обработки: Процессы обработки сообщений
  • Точки входа: Источники сообщений (коннекторы, очереди и т.д.).
  • ID: Идентификатор СОПС.
  • Ревизия: Версия или номер сборки маршрута.

Менеджер очередей

Атрибуты:

  • Название: Имя брокера
  • Наименование КЕ: Отображаемое имя на дашбордах/графе.
  • Статус: Текущее состояние, например RUNNING/STOPPED.
  • Настройки хранилища: Параметры хранения сообщений.
  • ID: Уникальный идентификатор брокера.
  • Настройки SSL: Сертификаты, шифрование.
  • Ограничения: Параметры лимитов на очередь/обмен.
  • Основные настройки: Конфигурация брокера.
  • Пользователи: Список пользователей и прав доступа.
  • Node Role: Роль узла в кластере (мастер, слейв и т.п.).

Очередь

Атрибуты:

  • Название: Имя очереди.
  • Наименование КЕ: Отображаемое имя на дашбордах/графе.
  • Свойства очереди: Настройки очереди.
  • Составная очередь: Использование композитной очереди.

Канал

Атрибуты:

  • Название: Имя канала.
  • Наименование КЕ: Отображаемое имя на дашбордах/графе.
  • Адрес подключения: IP/хост.
  • Порт: Порт соединения.
  • Протокол: Протокол подключения.
  • Дюплекс: Настройка duplex.
  • Статус: Состояние канала .
  • ID: Уникальный идентификатор.

Приёмник

Атрибуты:

  • Название: Идентификатор коннектора .
  • Наименование КЕ: Отображаемое имя на дашбордах/графе.
  • Всего подключений: Текущее число соединений .
  • Протокол: Протокол подключения.
  • Порт: Порт подключение.
  • Адрес обмена: Адрес, куда отправляются/принимаются сообщения.
  • Адрес подключения: Конечная точка подключения к источнику.

Расширенный менеджер очередей

Атрибуты:

  • Название: Имя брокера
  • Наименование КЕ: Отображаемое имя на дашбордах/графе.
  • Статус: Текущее состояние, например RUNNING/STOPPED.
  • ID: Уникальный идентификатор

Расширенная очередь

Атрибуты:

  • Название: Имя очереди.
  • Наименование КЕ: Отображаемое имя на дашбордах/графе.

Пример СРМ, на котором видны взаимосвязи между сервером FESB, брокерами, очередями, доменами и маршрутами graph

СРМ как основа мониторинга

СРМ PostgreSQL задает иерархию объектов (Сервер FESB → Менеджер очередей → очередь и т.п.), для каждого из которых собираются метрики.

Механизм сбора метрик

Сбор метрик осуществляется JSON экспортером

Метрики по уровню CRM

Уровень СРМ: FESB Сервер

Примеры метрик:

  • memoryHeap, memoryUsed, memoryFree, memoryMax: объём, использование и лимит heap JVM.
  • processorUsage: загрузка CPU.
  • disk_total, disk_used, disk_free: дисковое пространство.
  • uptime: непрерывное время работы.

Прогресс‑бары показывают текущую загрузку CPU, использование памяти и диска, а под ними линейные графики отражают динамику этих ресурсов во времени.
fesb_system


Уровень СРМ: Домен

Примеры метрик:

  • domainStatus: 1 — домен запущен.
  • processedQty: обработано сообщений всеми маршрутами домена.
  • failed: ошибки маршрутов домена.

Single Value сводят статус домена, количество СОПС, число ошибок и незавершённых транзакций.
domain


Уровень СРМ: СОПС 

Примеры метрик:

  • processedQty: обработано сообщений данным маршрутом.
  • failed: необработанные ошибки.
  • exchangesInflight: сообщений «на лету».
  • route_state: 1 — Started, 0 — Stopped.

Линейные графики отображают: среднее время обработки, скорость обработки в сообщениях/с, среднее число сообщений за 5 минут и накопительное количество обработанных сообщений.
sops


Уровень СРМ: Менеджер очередей 

Примеры метрик:

  • qm_Status: RUNNING (1) / STOPPED (0).
  • queueSize: суммарная глубина очередей брокера.
  • activeConsumers: количество активных потребителей.
  • persistentStoreSize: размер message‑store на диске.

Single Value показывают статус брокера, роль MASTER/SLAVE, количество очередей, отправителей и получателей, а также усреднённые счётчики сообщений и глубину очередей.
qm


Уровень СРМ: Очередь 

Примеры метрик:

  • queueSize, messageCount: текущая глубина.
  • storeMessageSize: объём сообщений (байт).
  • consumerCount, producerCount: активные клиенты.
  • enqueueCount, dequeueCount: отправлено/изъято с момента запуска.
  • expiredCount: устаревшие сообщения.
  • inFlightCount, deliveringCount: сообщения в доставке.
  • scheduledCount: отложенные сообщения.
  • minMessageSize, maxMessageSize: минимальный/максимальный объём сообщения.
  • durable, paused: флаги durability и паузы.

Верхняя панель содержит Single Value (глубина, скорости прироста/разбора, прогноз разбора и размеры сообщений). Ниже линейные графики визуализируют изменение размера очереди, количество отправителей и потребителей.
ochered


Уровень СРМ: Канал 

Примеры метрик:

  • channel_status: RUNNING / FAILED.
  • duplex: true — двусторонний обмен.
  • start: время последнего запуска.

Single Value детализирует соединение: статус канала, ID, протокол, порт, удалённый адрес, duplex и другие параметры подключения.
chanel


Уровень СРМ: Расширенный брокер 

Примеры метрик:

  • qme_Status: RUNNING / STOPPED.
  • backup, active, replicaSynced: роли и состояние репликации.
  • uptime: время работы процесса.

Single Value показывают статус внешнего брокера, его активность, роль backup/active, локальный доступ, синхронизацию с репликой и uptime.
ext_qm


Уровень СРМ: Расширенная очередь

Примеры метрик:

  • queueSize, messageCount: глубина.
  • messagesAdded, messagesAcknowledged: добавлено/подтверждено.
  • deliveringCount, deliveringSize, persistentSize: доставка и диск.
  • consumerCount, producerCount: клиенты.
  • durable, paused, autoDelete: флаги конфигурации.
  • rate(messageCount[5m]): скорость прироста.

Single Value отражают ключевые показатели (размер, скорости, устаревшие/убитые сообщения, доставку, хранилище). Под ними — линейные графики динамики размера очереди, числа потребителей и добавленных сообщений за 5 минут.
ext_ochered

Индикаторы здоровья

Длина очереди

Следит, чтобы глубина очереди не вышла из‑под контроля.
Уровень СРМ: Очередь (Queue)
Метрика: queueSize
Порог: > 5000 сообщений
Причины:

  • Сообщения не обрабатываются (нет потребителей).
  • Сбой в маршрутах или сервисах.

Прогнозное время разбора очереди

Оценивает, сколько времени займёт полная обработка накопленных сообщений.
Уровень СРМ: Очередь
Метрика: (queueSize / rate(dequeueCount[5m])) / 60 (мин)
Порог: > 10 минут
Причины:

  • Низкая скорость обработки.
  • Частичная недоступность потребителей.

Скорость прироста сообщений очереди

Предупреждает, если сообщения прибывают слишком быстро.
Уровень СРМ: Очередь
Метрика: rate(queueSize[5m]) (msg/s)
Порог: > 100 msg/s
Причины:

  • Поток входящих сообщений превышает пропускную способность.
  • «Шторм» событий от внешних систем.

Скорость разбора сообщений очереди

Фиксирует ситуации, когда очередь почти не обрабатывается.
Уровень СРМ: Очередь
Метрика: rate(dequeueCount[5m]) (msg/s)
Порог: < 1 msg/s при queueSize > 0
Причины:

  • Потребители остановлены или «подвисли».
  • Ошибка логики обработки.

Незавершённые транзакции

Показывает зависшие обмены в маршрутах.
Уровень СРМ: СОПС
Метрика: sops_failed
Порог: > 200 за 5 минут
Причины:

  • Долгие операции с внешними сервисами.
  • Исключения внутри маршрута.

Ошибки маршрутов

Отслеживает всплеск необработанных исключений.
Уровень СРМ: СОПС
Метрика: failed
Порог: > 10 за 5 минут
Причины:

  • Некорректная логика интеграции.
  • Недоступность внешнего ресурса.

Состояние СОПС

Позволяет мгновенно увидеть, что маршрут остановлен.
Уровень СРМ: СОПС
Метрика: sops_Status (значение routeState)
Порог: routeState ≠ Started
Причины:

  • Ручная остановка на обслуживание.
  • Критическая ошибка в процессе.

Состояние домена

Показывает доступность всех маршрутов домена.
Уровень СРМ: Домен
Метрика: domainStatus
Порог: active = false
Причины:

  • Домен остановлен администратором.
  • Ошибка конфигурации.

Состояние канала

Сигнализирует о неработающих network‑коннекторах.
Уровень СРМ: Канал
Метрика: channelStatus
Порог: status ≠ RUNNING
Причины:

  • Сетевая ошибка или таймаут.
  • Неверный удалённый адрес.

Состояние менеджера очередей

Отражает доступность брокера сообщений.
Уровень СРМ: Менеджер очередей (QM)
Метрика: qm_Status
Порог: status = STOPPED или STARTING
Причины:

  • Процесс брокера остановлен.
  • Проблемы с хранилищем сообщений.

Высокая загрузка памяти FESB

Предупреждает о риске OOM и деградации производительности.
Уровень СРМ: FESB сервер Метрика: memoryUsed / memoryMax
Порог: > 0.85 (85 %)
Причины:

  • Наплыв сообщений, удерживаемых в памяти.
  • Утечки памяти в приложении.

Дашборды

Инсталляции FESB

Компоненты FESB в виде дерева, к каждому типу компонента привязан свой уникальный дашборд.

alt text

FESB's

Общая информация по всем FESB — индикаторы здоровья, очереди, маршруты, доступность.

alt text Фильтр: отсутствует

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
consumerCountКоличество потребителей
producerCountКоличество отправителей
queueSizeРазмер очереди
storeMessageSizeОбъём сообщений в очереди
enqueueCountКоличество отправленных сообщений (непрерывно возрастающая величина)
dequeueCountКоличество изъятых сообщений (непрерывно возрастающая величина)
exchangesInflightНезавершённые транзакции (непрерывно возрастающая величина)
probe_successДоступность
sops_StatusСтатус маршрутов
qm_StatusСостояние брокера

Правила расчёта и агрегации:

  • Таблица «Доступность»текущее значение метрики probe_success.
  • Таблица «Внешние системы»текущее значение метрики probe_success.
  • Остановлено менеджеровподсчёт количества значений метрики qm_Status, не равных RUNNING.
  • Остановлено СОПСподсчёт количества значений метрики sops_Status, не равных Started.
  • Незавершённые транзакциисуммарное значение метрики exchangesInflight.
  • Средняя скорость обработкивычисление разницы между начальным и конечным значением счётчика dequeueCount в указанном окне (5m), а затем деление её на количество секунд в этом окне (300 секунд); вычисляется среднее значение по всем FESB.
  • Текущая глубина очередейсуммарное значение метрики queueSize.
  • Таблица «Очереди»текущие значения метрик queueSize, enqueueCount, dequeueCount, producerCount, consumerCount, storeMessageSize. Агрегация по FESB: сумма.

FESB

Системные метрики FESB и информация по активным очередям.

alt text

alt text Фильтр: адрес FESB

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
disk_usedИспользованное место на диске
disk_totalОбщий размер диска
disk_freeСвободное место на диске
directories_usedИспользование директории
directories_totalОбщий размер директории
processorsКоличество процессоров
queueSizeРазмер очереди
memoryUsedИспользуемая оперативная память
memoryMaxМаксимальный объём оперативной памяти
memoryFreeСвободная оперативная память
uptimeВремя непрерывной работы
processorUsageЗагрузка процессора

Правила расчёта и агрегации:

  • Uptimeтекущее значение метрики uptime.
  • Ядра ЦПтекущее значение метрики processors.
  • Загрузка ЦПтекущее значение метрики processorUsage.
  • График «Загрузка ЦП»текущее значение метрики processorUsage. Временной ряд; интервал задаётся в дашборде.
  • Используется ОЗУтекущее значение метрики memoryUsed.
  • Всего ОЗУтекущее значение метрики memoryMax.
  • Загрузка ОЗУотношение значения метрики memoryUsed к memoryMax, умноженное на 100 и округлённое до одного знака после запятой.
  • График «Загрузка ОЗУ»текущее значение метрик memoryUsed и memoryMax. Временной ряд; интервал задаётся в дашборде.
  • Измерение директориитекущее значение метрик directories_used и directories_total для каждой отслеживаемой директории.
  • График «Директории»текущее значение метрик disk_used и disk_total. Временной ряд; интервал задаётся в дашборде.
  • Всего очередейподсчёт количества значений метрики queueSize.
  • Активных очередейподсчёт количества значений метрики queueSize > 0.
  • Сообщений в очередяхсуммарное значение метрики queueSize.
  • Размер очередей (сообщений)текущее значение метрики queueSize. Временной ряд; интервал задаётся в дашборде.

FESB Domain's

Информация по доменам, их состояние и сводка по маршрутам.

alt text Фильтр: адрес FESB

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
domainStatusСостояние домена
sops_StatusСостояние маршрутов
rateСкорость обработки
meanProcessingTimeСреднее время обработки
processedQtyКоличество потерянных сообщений (непрерывно возрастающая величина)
failedКоличество ошибок (непрерывно возрастающая величина)
exchangesInflightНезавершённые транзакции (непрерывно возрастающая величина)

Правила расчёта и агрегации:

  • Количество доменовподсчёт количества значений метрики domainStatus.
  • Активных доменовподсчёт количества значений метрики domainStatus, равных active.
  • Количество СОПСподсчёт количества значений метрики sops_Status.
  • Активных СОПСподсчёт количества значений метрики sops_Status, равных Started.
  • Таблица «Домены»суммарное значение метрик processedQty, failed, exchangesInflight; среднее значение метрик rate, meanProcessingTime; текущее значение метрики domainStatus; подсчёт количества значений метрики sops_Status.
  • График «Средняя скорость обработки»среднее значение метрики rate. Временной ряд; интервал задаётся в дашборде.
  • График «Среднее время обработки»среднее значение метрики meanProcessingTime. Временной ряд; интервал задаётся в дашборде.

FESB Domain

Информация по домену, его состояние и сводка по маршрутам.

alt text Фильтр: адрес FESB, ID домена

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
processedQtyКоличество потерянных сообщений (непрерывно возрастающая величина)
failedКоличество ошибок (непрерывно возрастающая величина)
exchangesInflightНезавершённые транзакции (непрерывно возрастающая величина)
rateСкорость обработки
meanProcessingTimeСреднее время обработки
sops_StatusСостояние маршрутов
domainStatusСостояние домена

Правила расчёта и агрегации:

  • Состояние доменатекущее значение метрики domainStatus.
  • Ошибкисуммарное значение метрики failed.
  • Количество СОПСподсчёт количества значений метрики sops_Status.
  • Незавершённых транзакцийсуммарное значение метрики exchangesInflight.
  • Среднее время обработкисреднее значение метрики meanProcessingTime.
  • Обработано сообщенийсуммарное значение метрики processedQty.
  • Средняя скорость обработкисреднее значение метрики rate.
  • Таблица «СОПС»текущие значения метрик processedQty, failed, exchangesInflight, rate, meanProcessingTime, sops_Status.
  • График «Время обработки»текущее значение метрики meanProcessingTime. Временной ряд; интервал задаётся в дашборде.
  • График «Скорость обработки»текущее значение метрики rate. Временной ряд; интервал задаётся в дашборде.

FESB SOPS

Информация по маршрутам — состояние и обработка сообщений.

alt text Фильтр: адрес FESB, ID домена, ID маршрута

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
processedQtyКоличество потерянных сообщений (непрерывно возрастающая величина)
failedКоличество ошибок (непрерывно возрастающая величина)
failuresHandledОбработанные ошибки
exchangesInflightНезавершённые транзакции (непрерывно возрастающая величина)
sops_StatusСостояние маршрута
rateСкорость обработки
meanProcessingTimeСреднее время обработки

Правила расчёта и агрегации:

  • Состояниетекущее значение метрики sops_Status.
  • Незавершённые транзакциитекущее значение метрики exchangesInflight.
  • Ошибкитекущее значение метрики failed.
  • Обработанные ошибкитекущее значение метрики failuresHandled.
  • График «Скорость обработки»текущее значение метрики rate. Временной ряд; интервал задаётся в дашборде.
  • График «Время обработки»текущее значение метрики meanProcessingTime. Временной ряд; интервал задаётся в дашборде.

FESB Domain Group

Информация по доменам, их состояние и сводка по маршрутам.

alt text Фильтр: адрес FESB

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
processedQtyКоличество потерянных сообщений (непрерывно возрастающая величина)
failedКоличество ошибок (непрерывно возрастающая величина)
exchangesInflightНезавершённые транзакции (непрерывно возрастающая величина)
rateСкорость обработки
meanProcessingTimeСреднее время обработки
domainStatusСостояние доменов
sops_StatusСостояние маршрутов

Правила расчёта и агрегации:

  • Количество доменовподсчёт количества значений метрики domainStatus.
  • Активных доменовподсчёт количества значений метрики domainStatus, равных active.
  • Количество СОПСподсчёт количества значений метрики sops_Status.
  • Активных СОПСподсчёт количества значений метрики sops_Status, равных Started.
  • Таблица «Домены»суммарное значение метрик processedQty, failed, exchangesInflight; среднее значение метрик rate, meanProcessingTime; текущее значение метрики domainStatus; подсчёт количества значений метрики sops_Status.
  • График «Средняя скорость обработки»среднее значение метрики rate. Временной ряд; интервал задаётся в дашборде.
  • График «Количество обработанных сообщений за 5 минут»разница между начальным и конечным значением счётчика processedQty в окне 5m с последующим округлением до целого числа. Временной ряд; интервал задаётся в дашборде.
  • График «Количество обработанных сообщений»текущее значение метрики processedQty с округлением до целого числа.

QM's

Информация по брокерам и сводка по их очередям.

alt text Фильтр: адрес FESB

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
qm_StatusСостояние брокера
queueSizeРазмер очереди
enqueueCountКоличество отправленных сообщений (непрерывно возрастающая величина)
dequeueCountКоличество изъятых сообщений (непрерывно возрастающая величина)
producerCountКоличество отправителей
consumerCountКоличество потребителей
storeMessageSizeОбъём сообщений в очереди

Правила расчёта и агрегации:

  • Количество брокеровподсчёт количества значений метрики qm_Status.
  • Активных брокеровподсчёт количества значений метрики qm_Status со статусом RUNNING.
  • Количество очередейподсчёт количества значений метрики queueSize.
  • Таблица «Брокеры»подсчёт количества значений метрики queueSize; суммарное значение метрик queueSize, enqueueCount, dequeueCount, producerCount, consumerCount, storeMessageSize; среднее значение метрики storeMessageSize; разница dequeueCount за 5 минут ÷ 300 секунд; текущее значение метрики qm_Status.
  • График «Количество сообщений»суммарное значение метрики queueSize. Временной ряд; интервал задаётся в дашборде.

QM

Информация по менеджеру очередей, сводка по его очередям и каналам.

alt text

alt text Фильтр: адрес FESB, ID брокера

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
qm_StatusСостояние брокера
queueSizeРазмер очереди
enqueueCountКоличество отправленных сообщений (непрерывно возрастающая величина)
dequeueCountКоличество изъятых сообщений (непрерывно возрастающая величина)
producerCountКоличество отправителей
consumerCountКоличество получателей
storeMessageSizeСредний размер сообщений в очереди
minMessageSizeМинимальный размер сообщения
maxMessageSizeМаксимальный размер сообщения
channel_statusСостояние каналов

Правила расчёта и агрегации:

  • Состояниетекущее значение лейбла status метрики qm_Status.
  • Рольтекущее значение лейбла slave метрики qm_Status.
  • Статустекущее значение лейбла state метрики qm_Status.
  • Отправителейсуммарное значение метрики producerCount.
  • Получателейсуммарное значение метрики consumerCount.
  • Отправленных сообщенийсуммарное значение метрики enqueueCount.
  • Количество очередейподсчёт количества значений метрики queueSize.
  • Изъятых сообщенийсуммарное значение метрики dequeueCount.
  • Средний размер сообщений в очередисреднее значение метрики storeMessageSize.
  • Средний размер очередей (сообщений)среднее значение метрики queueSize, округлённое до целого числа.
  • Таблица «Очереди»текущие значения метрик queueSize, enqueueCount, dequeueCount, producerCount, consumerCount, storeMessageSize, minMessageSize, maxMessageSize.
  • Таблица «Каналы»текущее значение метрики channel_status.

FESB Queue's

Общая информация по очередям и обработке сообщений.

alt text Фильтр: адрес FESB, ID брокера

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
queueSizeРазмер очереди
enqueueCountКоличество отправленных сообщений (непрерывно возрастающая величина)
dequeueCountКоличество изъятых сообщений (непрерывно возрастающая величина)
producerCountКоличество отправителей
consumerCountКоличество потребителей
storeMessageSizeРазмер сообщений в очереди
minMessageSizeМинимальный размер сообщения
maxMessageSizeМаксимальный размер сообщения

Правила расчёта и агрегации:

  • Таблица «Очереди»текущие значения метрик queueSize, enqueueCount, dequeueCount, producerCount, consumerCount, storeMessageSize, minMessageSize, maxMessageSize.
  • Количество очередейподсчёт количества значений метрики queueSize.
  • Размер очередейсуммарное значение метрики queueSize.
  • Отправлено сообщенийсуммарное значение метрики enqueueCount.
  • Изъято сообщенийсуммарное значение метрики dequeueCount.

FESB Queue

Информация по очереди и обработке сообщений.

alt text

alt text Фильтр: адрес FESB, ID брокера, название очереди

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
queueSizeРазмер очереди
enqueueCountКоличество поступивших в очередь сообщений (непрерывно возрастающая величина)
dequeueCountКоличество изъятых сообщений (непрерывно возрастающая величина)
dispatchCountКоличество отправленных потребителям сообщений (непрерывно возрастающая величина)
inFlightCountСообщения в ожидании отправки
memoryUsageByteCountИспользуемая память очереди
storeMessageSizeСредний размер сообщения
minMessageSizeМинимальный размер сообщения
maxMessageSizeМаксимальный размер сообщения
producerCountКоличество отправителей
consumerCountКоличество потребителей
expiredCountКоличество потерянных сообщений (непрерывно возрастающая величина)

Правила расчёта и агрегации:

  • Размер очередитекущее значение метрики queueSize.
  • Скорость прироста сообщений в очередиразница между начальным и конечным значением счётчика queueSize в окне 5m, делённая на 300 секунд.
  • Скорость разбора сообщений в очередиразница между начальным и конечным значением счётчика dequeueCount в окне 5m, делённая на 300 секунд.
  • Прогнозное время разбора очередиотношение текущего значения метрики queueSize к разнице dequeueCount за 5m, делённой на 300 секунд; результат делится на 60.
  • Потерянных сообщенийтекущее значение метрики expiredCount.
  • Сообщений в ожидании отправкитекущее значение метрики inFlightCount.
  • Максимальный размер сообщениятекущее значение метрики maxMessageSize.
  • Минимальный размер сообщениятекущее значение метрики minMessageSize.
  • Размер сообщений в очередитекущее значение метрики storeMessageSize.
  • График «Размер очереди»текущее значение метрики queueSize. Временной ряд; интервал задаётся в дашборде. Учитывается кластерная очередь.
  • График «Отправители»текущее значение метрики producerCount. Временной ряд; интервал задаётся в дашборде. Учитывается кластерная очередь.
  • График «Потребители»текущее значение метрики consumerCount. Временной ряд; интервал задаётся в дашборде. Учитывается кластерная очередь.
  • График «Отправлено в очередь за 5 минут»разница enqueueCount в окне 5m с округлением до целого числа. Временной ряд; интервал задаётся в дашборде. Учитывается кластерная очередь.
  • График «Изъято за 5 минут»разница dequeueCount в окне 5m с округлением до целого числа. Временной ряд; интервал задаётся в дашборде. Учитывается кластерная очередь.
  • График «Отправлено потребителям за 5 минут»разница dispatchCount в окне 5m с округлением до целого числа. Временной ряд; интервал задаётся в дашборде. Учитывается кластерная очередь.
  • График «Всего используется памяти»текущее значение метрики memoryUsageByteCount. Временной ряд; интервал задаётся в дашборде. Учитывается кластерная очередь.

FESB Channel's

Общая информация по каналам.

alt text
Фильтр: адрес FESB, ID брокера

FESB Channel

Информация по каналу и его состояние.

alt text Фильтр: адрес FESB, ID брокера, название канала

Таблица сырых метрик, используемых виджетами дашборда

МетрикаОписание
channel_statusСостояние канала

Правила расчёта и агрегации:

  • Состояниетекущее значение метрики channel_status.

Файлы конфигурации

  • CI Types (TKE) — Конфигурационный файл, описывающий TКЕ.
  • Шаблоны FESB — Шаблон метрик и индикаторов здоровья.
  • Дашборды — Файл конфигурации дашбордов.
  • Экспортер — Файл настроек экспортёров для сбора метрик FESB.

Исторический мониторинг JSON/XML интеграционных взаимодействий

Расчет входящего потока и объема данных

Исходные данные:

  • Количество СОПС: 3 000
  • Сообщений на СОПС в час: 100
  • Событий на одно сообщение: 2 (начало, конец)
  • Средний размер тела сообщения: 10 КБ
  • Средний размер метаданных: 1 КБ
  • Размер одного трейс-события: 10 КБ + 1 КБ = 11 КБ

Расчеты:

  1. Общее количество событий в час: 3 000 СОПС * 100 сообщ./час * 2 события/сообщ. = 600 000 событий/час

  2. Общий объем данных в час: 600 000 событий/час * 11 КБ/событие = 6 600 000 КБ/час ≈ 6.3 ГБ/час

  3. Количество событий в секунду (RPS): 600 000 / 3600 сек = ~167 событий/сек

  4. Входящий поток данных (Throughput): 6.3 ГБ/час / 3600 сек/час ≈ 1.8 МБ/сек

  5. Объем данных в сутки: 6.3 ГБ/час * 24 часа ≈ 151 ГБ/сутки

Итоговые объемы для хранения (RAW - без учета сжатия):

  • За 1 неделю: 151 ГБ/сутки * 7 дней ≈ 1.06 ТБ
  • За 1 месяц (30 дней): 151 ГБ/сутки * 30 дней ≈ 4.5 ТБ
  • За 1 год (365 дней): 151 ГБ/сутки * 365 дней ≈ 55 ТБ

Расчет требований к Kafka

Используем те же допущения: хранение 3 дня, репликация x3.

ПараметрРасчетТребования
Входящий поток1.8 МБ/секОчень умеренная нагрузка.
Дисковое пространство151 ГБ/день * 3 дня * 3 реплики ≈ 1.4 ТБТребования к дискам невысокие. Подойдут стандартные SSD.
CPU/RAMС такой нагрузкой легко справится стандартный кластер из 3-х брокеров с ресурсами (например, 4 vCPU, 16 ГБ RAM на каждый). Система будет работать с большим запасом.
Кол-во партицийRPS в ~167 не является высоким. Для начала будет достаточно 6-12 партиций в топике для обеспечения параллелизма потребителей.

Расчет требований к ClickHouse

Используем допущение о сжатии 5x. Для JSON/XML с большим количеством текста и повторяющейся структурой это вполне достижимо.

Период храненияРасчетТребования к хранилищу
1 неделя1.06 ТБ / 5 ≈ 212 ГБМинимальные.
1 месяц4.5 ТБ / 5 ≈ 900 ГБВполне умеренно.
1 год55 ТБ / 5 ≈ 11 ТБЭто стандартный объем для одного сервера или небольшого кластера ClickHouse. Потребуются быстрые диски (NVMe) для хорошей производительности запросов.

4.2 CPU и RAM

ПараметрОценкаТребования
Нагрузка на запись1.8 МБ/сек — это очень низкая нагрузка для ClickHouse. Система может обрабатывать сотни МБ/сек.С записью справится даже один сервер. Кластер нужен в основном для отказоустойчивости и распараллеливания аналитических запросов.
CPU (ориентировочно)Для кластера из 2-3 нод будет достаточно 8-16 vCPU на ноду. Суммарно 16-48 vCPU.Это позволит одновременно и эффективно записывать данные, и выполнять сложные аналитические запросы от пользователей.
RAM (ориентировочно)32-64 ГБ на ноду. RAM в ClickHouse используется для словарей, кэшей и выполнения запросов.Этого объема будет достаточно для быстрой работы с данными объемом 11 ТБ.