Перейти к основному содержимому

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;
  • число брокеров (QM), доменов и очередей;
  • активные потребители, глубину очередей и среднюю скорость обработки.

Скриншот дашборда
FESB_MAIN


Дашборд «FESB – Системные ресурсы» показывает:

  • загрузку CPU;
  • использование памяти JVM (memoryHeap, memoryUsed, memoryFree, memoryMax);
  • занятое и свободное дисковое пространство;
  • uptime процесса, версии JVM и продукта.

Скриншот дашборда
fesb_system


Дашборд «Группы доменов» даёт обзор:

  • списка групп доменов;
  • количества доменов в каждой группе;
  • текущего статуса (OK / Warning / Error) каждой группы.

Скриншот дашборда
domain_group


Дашборд «Домен FESB» отображает:

  • свойства выбранного домена (ID, статус, константы);
  • список маршрутов (СОПС) с метриками processedQty, failed, exchangesInflight;
  • графики средней скорости обработки сообщений.

Скриншот дашборда
domain


Дашборд «Маршруты (СОПС)» показывает:

  • таблицу маршрутов с количеством обработанных сообщений и ошибок;
  • текущее состояние маршрута (route_state);
  • длительность последней обработки.

Скриншот дашборда
sops


Дашборд «Менеджер очередей (QM)» включает:

  • статус брокера (qm_Status, роль MASTER/SLAVE);
  • статистику по очередям (глубина, размер сообщений);
  • список каналов и приёмников с их состоянием;
  • использование хранилища сообщений.

Скриншот дашборда
qm


Дашборд «Канал FESB» отображает:

  • параметры соединения (удалённый адрес, протокол, порт, duplex);
  • текущий статус канала (channel_status).

Скриншот дашборда
chanel


Дашборд «Очередь FESB» показывает:

  • размер очереди (queueSize) и скорость прироста/разбора;
  • количество отправителей и потребителей;
  • объём сообщений в хранилище;
  • устаревшие и доставляемые сообщения.

Скриншот дашборда
ochered


Дашборд «Расширенные брокеры (QME)» даёт обзор:

  • их статусов (qme_Status, backup, active, replicaSynced);
  • времени непрерывной работы.

Скриншот дашборда
ext_qm


Дашборд «Расширенные очереди» отображает:

  • размер очереди и скорость прироста сообщений;
  • число потребителей и сообщений в доставке;
  • прогнозное время разбора;

Скриншот дашборда
ext_ochered


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

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