Каталог MBean ERP
В таблицах указаны JMX-атрибуты, получающиеся из методов getXxx() или isXxx(). Все объекты находятся в домене BGCRM и регистрируются только при включённом server.jmx.pools.
Основные объекты запуска
Эти MBean регистрирует Server.initJmx() до компиляции динамического кода и запуска подсистем.
Приложение
| ObjectName | Атрибут | Содержание |
|---|---|---|
|
|
Количество пользовательских сессий |
|
Количество уникальных вошедших пользователей, у которых есть сессии |
Пулы соединений с БД
| ObjectName | Атрибуты | Содержание |
|---|---|---|
|
|
Основной пул ERP |
|
|
Пул каждой настроенной slave-базы |
|
|
Пул каждого биллинга из |
Если чтение показателей пула завершается BGException, реализация основного пула печатает stack trace и возвращает -1.
Состояние реплик
| ObjectName | Атрибут | Содержание |
|---|---|---|
|
|
|
|
|
Это внутреннее состояние ConnectionPool, которое обновляют проверки доступности и отставания. Значение не является прямым результатом SHOW SLAVE STATUS в момент чтения атрибута.
Elasticsearch
| ObjectName | Атрибут | Содержание |
|---|---|---|
|
|
Всего строк в |
|
Строки с ошибкой синхронизации |
|
|
Строки, ещё не записанные в Elasticsearch |
Статистика загружается через соединение ERP_SLAVE полным запросом по таблице и кешируется внутри MBean. TTL задаёт server.jmx.elasticcache.ttl.sec, по умолчанию 300 секунд. Первый запрос после истечения TTL может быть дорогим.
WebSocket-сессии
Эти объекты появляются при первой инициализации соответствующего Kotlin object или базового WebSocket-класса.
| ObjectName | Атрибуты | Содержание |
|---|---|---|
|
|
Все WebSocket-сессии, зарегистрированные через |
|
|
Сессии мастеров и количество wizard ID |
|
|
Сессии карточек BPMN-процессов и количество process ID |
|
|
Сессии редактора BPMN-схем и количество ID схем |
У двух BPMN MBean совпадают type и name, но различается description, поэтому оба объекта могут существовать одновременно.
Компоненты API-клиентов
ApiClientComponentFactory регистрирует объект лениво, когда включённый компонент впервые запрашивается. Общий шаблон:
BGCRM:type=<componentType>,name=api-<componentKey>,description=<config.name или componentKey>
При изменении конфигурации компонент и его MBean пересоздаются под тем же именем.
componentType |
Атрибуты | Содержание |
|---|---|---|
|
|
Соединения OkHttp. |
|
|
Лимит, выполняемые и ожидающие вызовы OkHttp Dispatcher |
|
|
Текущее состояние Resilience4j RateLimiter |
|
|
Метрики Resilience4j CircuitBreaker. |
Тип ConnectionPool общий с пулами БД, но API-объекты отличаются префиксом name=api-… и наличием description.
|
Конструктор интеграций
ClientEngineFactory пытается зарегистрировать:
BGCRM:type=ClientEngineFactory,name=ClientEngineFactoryCaches,description=Caches ClientEngineFactory
Планируемые атрибуты:
-
CountHttpClients— число ключей кеша HTTP-клиентов; -
CountSchemas— число схем в кеширующем загрузчике.
Реализация называется ClientEngineFactoryCaches, а интерфейс — ClientEngineFactoryCachesMbean. Для Standard MBean требуется суффикс с точным регистром MBean. Пока интерфейс не переименован, объект не следует считать доступным: MBeanServer может отклонить его как NotCompliantMBeanException.
|