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, брокерами, очередями, доменами и маршрутами
СРМ как основа мониторинга
СРМ PostgreSQL задает иерархию объектов (Сервер FESB → Менеджер очередей → очередь и т.п.), для каждого из которых собираются метрики.
Механизм сбора метрик
Сбор метрик осуществляется JSON экспортером
Метрики по уровню CRM
Уровень СРМ: FESB Сервер
Примеры метрик:
memoryHeap
,memoryUsed
,memoryFree
,memoryMax
: объём, использование и лимит heap JVM.processorUsage
: загрузка CPU.disk_total
,disk_used
,disk_free
: дисковое пространство.uptime
: непрерывное время работы.
Прогресс‑бары показывают текущую загрузку CPU, использование памяти и диска, а под ними линейные графики отражают динамику этих ресурсов во времени.
Уровень СРМ: Домен
Примеры метрик:
domainStatus
: 1 — домен запущен.processedQty
: обработано сообщений всеми маршрутами домена.failed
: ошибки маршрутов домена.
Single Value сводят статус домена, количество СОПС, число ошибок и незавершённых транзакций.
Уровень СРМ: СОПС
Примеры метрик:
processedQty
: обработано сообщений данным маршрутом.failed
: необработанные ошибки.exchangesInflight
: сообщений «на лету».route_state
: 1 — Started, 0 — Stopped.
Линейные графики отображают: среднее время обработки, скорость обработки в сообщениях/с, среднее число сообщений за 5 минут и накопительное количество обработанных сообщений.
Уровень СРМ: Менеджер очередей
Примеры метрик:
qm_Status
: RUNNING (1) / STOPPED (0).queueSize
: суммарная глубина очередей брокера.activeConsumers
: количество активных потребителей.persistentStoreSize
: размер message‑store на диске.
Single Value показывают статус брокера, роль MASTER/SLAVE, количество очередей, отправителей и получателей, а также усреднённые счётчики сообщений и глубину очередей.
Уровень СРМ: Очередь
Примеры метрик:
queueSize
,messageCount
: текущая глубина.storeMessageSize
: объём сообщений (байт).consumerCount
,producerCount
: активные клиенты.enqueueCount
,dequeueCount
: отправлено/изъято с момента запуска.expiredCount
: устаревшие сообщения.inFlightCount
,deliveringCount
: сообщения в доставке.scheduledCount
: отложенные сообщения.minMessageSize
,maxMessageSize
: минимальный/максимальный объём сообщения.durable
,paused
: флаги durability и паузы.
Верхняя панель содержит Single Value (глубина, скорости прироста/разбора, прогноз разбора и размеры сообщений). Ниже линейные графики визуализируют изменение размера очереди, количество отправителей и потребителей.
Уровень СРМ: Канал
Примеры метрик:
channel_status
: RUNNING / FAILED.duplex
: true — двусторонний обмен.start
: время последнего запуска.
Single Value детализирует соединение: статус канала, ID, протокол, порт, удалённый адрес, duplex и другие параметры подключения.
Уровень СРМ: Расширенный брокер
Примеры метрик:
qme_Status
: RUNNING / STOPPED.backup
,active
,replicaSynced
: роли и состояние репликации.uptime
: время работы процесса.
Single Value показывают статус внешнего брокера, его активность, роль backup/active, локальный доступ, синхронизацию с репликой и uptime.
Уровень СРМ: Расширенная очередь
Примеры метрик:
queueSize
,messageCount
: глубина.messagesAdded
,messagesAcknowledged
: добавлено/подтверждено.deliveringCount
,deliveringSize
,persistentSize
: доставка и диск.consumerCount
,producerCount
: клиенты.durable
,paused
,autoDelete
: флаги конфигурации.rate(messageCount[5m])
: скорость прироста.
Single Value отражают ключевые показатели (размер, скорости, устаревшие/убитые сообщения, доставку, хранилище). Под ними — линейные графики динамики размера очереди, числа потребителей и добавленных сообщений за 5 минут.
Индикаторы здоровья
Длина очереди
Следит, чтобы глубина очереди не вышла из‑под контроля.
Уровень СРМ: Очередь (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 – Системные ресурсы» показывает:
- загрузку CPU;
- использование памяти JVM (
memoryHeap
,memoryUsed
,memoryFree
,memoryMax
); - занятое и свободное дисковое пространство;
- uptime процесса, версии JVM и продукта.
Скриншот дашборда
Дашборд «Группы доменов» даёт обзор:
- списка групп доменов;
- количества доменов в каждой группе;
- текущего статуса (OK / Warning / Error) каждой группы.
Скриншот дашборда
Дашборд «Домен FESB» отображает:
- свойства выбранного домена (ID, статус, константы);
- список маршрутов (СОПС) с метриками
processedQty
,failed
,exchangesInflight
; - графики средней скорости обработки сообщений.
Скриншот дашборда
Дашборд «Маршруты (СОПС)» показывает:
- таблицу маршрутов с количеством обработанных сообщений и ошибок;
- текущее состояние маршрута (
route_state
); - длительность последней обработки.
Скриншот дашборда
Дашборд «Менеджер очередей (QM)» включает:
- статус брокера (
qm_Status
, роль MASTER/SLAVE); - статистику по очередям (глубина, размер сообщений);
- список каналов и приёмников с их состоянием;
- использование хранилища сообщений.
Скриншот дашборда
Дашборд «Канал FESB» отображает:
- параметры соединения (удалённый адрес, протокол, порт, duplex);
- текущий статус канала (
channel_status
).
Скриншот дашборда
Дашборд «Очередь FESB» показывает:
- размер очереди (
queueSize
) и скорость прироста/разбора; - количество отправителей и потребителей;
- объём сообщений в хранилище;
- устаревшие и доставляемые сообщения.
Скриншот дашборда
Дашборд «Расширенные брокеры (QME)» даёт обзор:
- их статусов (
qme_Status
,backup
,active
,replicaSynced
); - времени непрерывной работы.
Скриншот дашборда
Дашборд «Расширенные очереди» отображает:
- размер очереди и скорость прироста сообщений;
- число потребителей и сообщений в доставке;
- прогнозное время разбора;
Скриншот дашборда
Файлы конфигурации
- CI Types (TKE) — Конфигурационный файл, описывающий TКЕ.
- Шаблоны FESB — Шаблон метрик и индикаторов здоровья.
- Дашборды — Файл конфигурации дашбордов.
- Экспортер — Файл настроек экспортёров для сбора метрик FESB.