Мониторинг Apache ActiveMQ
Мониторинг Apache ActiveMQ
Расширение предназначено для мониторинга брокеров Apache ActiveMQ Classic через JMX. Оно собирает показатели брокеров, очередей и топиков непосредственно из Java-процесса, контролируемого ЕдинымАгентом.
Расширение предназначено для Apache ActiveMQ Classic. Apache ActiveMQ Artemis использует другую структуру MBean и данным расширением не поддерживается.
| Параметр | Значение |
|---|---|
| Версия расширения | 1.2.0
|
| Идентификатор | ru.ruscomtech.extension.jmx-activemq
|
| Минимальная версия Ключ-АСТРОМ | 1.309.0
|
| Минимальная версия EEC | 1.273.0
|
| Источник данных | JMX |
Возможности расширения
- Мониторинг брокеров Apache ActiveMQ Classic.
- Контроль очередей и топиков.
- Сбор количества поставленных, извлечённых, отправленных и просроченных сообщений.
- Контроль размера очередей и сообщений в обработке.
- Мониторинг подключений, производителей и потребителей.
- Контроль использования памяти, постоянного и временного хранилища.
- Получение состояния работоспособности брокера.
- Создание связанных сущностей брокеров, очередей и топиков.
- Связывание брокера с хостом и экземпляром Java-процесса.
- Готовые обзорные панели и страницы анализа сущностей.
Требования
Для работы расширения необходимы:
- ЕдиныйАгент на сервере, где запущен брокер ActiveMQ.
- Мониторинг Java-процесса брокера.
- Включённая функция
Java Metric Extensions 2.0 (JMX). - Включённый JMX в конфигурации ActiveMQ.
- Ключ-АСТРОМ версии
1.309.0или новее.
Для корректного изменения состояния метрики activeMQ.BrokerHealthStatus рекомендуется использовать ЕдиныйАгент версии 1.313 или новее. В более ранних версиях состояние этой метрики может не обновляться.
Удалённый JMX endpoint, отдельный JMX-порт и учётные данные в конфигурации расширения не требуются: сбор выполняется внутри контролируемого Java-процесса.
Подготовка ActiveMQ
Убедитесь, что в конфигурации брокера включён JMX:
<broker useJmx="true" brokerName="broker1">
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
</broker>
Параметр brokerName должен содержать уникальное имя брокера.
Значение createConnector="false" оставляет MBean в локальном сервере управления Java. Создавать удалённый JMX-коннектор для работы расширения не требуется.
После изменения конфигурации перезапустите брокер.
Установка расширения
- Установите ЕдиныйАгент на сервер ActiveMQ.
- Убедитесь, что Java-процесс брокера обнаружен и контролируется.
- Включите функцию
Java Metric Extensions 2.0 (JMX). - Откройте раздел управления расширениями Ключ-АСТРОМ.
- Загрузите подписанный пакет
ru.ruscomtech.extension.jmx-activemq-1.2.0.zip. - Установите и активируйте расширение.
- Выберите необходимые наборы метрик.
- Сохраните конфигурацию.
Перезапуск брокера после установки самого расширения обычно не требуется.
Конфигурация
Расширение не содержит endpoint с адресом и портом. После установки необходимо выбрать наборы метрик, которые должны собираться из контролируемых процессов ActiveMQ.
| Набор | Назначение |
|---|---|
usage-metrics
|
Показатели очередей и топиков: размер очереди, сообщения, потребители и время обработки. |
broker-connections
|
Подключения, производители и потребители брокера. |
broker-limits
|
Использование памяти, постоянного и временного хранилища. |
broker-health
|
Текущее состояние работоспособности брокера. |
Для полного мониторинга рекомендуется включить все четыре набора.
Расширение поддерживает как современный формат MBean:
org.apache.activemq:type=Broker,brokerName=*
так и формат, используемый старыми версиями ActiveMQ Classic 5:
org.apache.activemq:Type=Broker,BrokerName=*
Собираемые метрики
Очереди и топики
| Метрика | Описание |
|---|---|
activeMQ.QueueSize
|
Текущее количество сообщений в очереди. |
activeMQ.AverageEnqueueTime
|
Среднее время нахождения сообщения в очереди. |
activeMQ.AverageEnqueueTimeIncrease.count
|
Изменение среднего времени нахождения сообщения в очереди. |
activeMQ.EnqueueCount.count
|
Количество сообщений, добавленных в очередь или топик. |
activeMQ.DequeueCount.count
|
Количество извлечённых сообщений. |
activeMQ.DispatchCount.count
|
Количество сообщений, отправленных потребителям. |
activeMQ.ExpiredCount.count
|
Количество сообщений с истёкшим сроком действия. |
activeMQ.InFlightCount.count
|
Количество отправленных, но ещё не подтверждённых сообщений. |
activeMQ.ConsumerCount
|
Текущее количество потребителей очереди. |
Подключения брокера
| Метрика | Описание |
|---|---|
activeMQ.CurrentConnectionsCount
|
Текущее количество активных подключений. |
activeMQ.TotalConnectionsCount
|
Общее количество подключений к брокеру. |
activeMQ.TotalProducerCount
|
Количество производителей сообщений. |
activeMQ.TotalConsumerCount
|
Количество потребителей сообщений. |
Использование ресурсов
| Метрика | Описание |
|---|---|
activeMQ.MemoryPercentUsage
|
Процент использования памяти брокером. |
activeMQ.StorePercentUsage
|
Процент использования постоянного хранилища. |
activeMQ.TempPercentUsage
|
Процент использования временного хранилища. |
Состояние брокера
| Метрика | Описание |
|---|---|
activeMQ.BrokerHealthStatus
|
Состояние работоспособности брокера. Значение метрики постоянно равно 1, а фактическое состояние передаётся в измерении status.
|
Создаваемые сущности
| Тип | Назначение |
|---|---|
activemq:broker
|
Брокер Apache ActiveMQ. |
activemq:queue
|
Очередь брокера. |
activemq:topic
|
Топик брокера. |
Очереди и топики связываются с родительским брокером. Брокер связывается с соответствующим хостом и экземпляром Java-процесса.
Проверка работы
После активации расширения:
- Откройте контролируемый Java-процесс ActiveMQ.
- Проверьте состояние расширения JMX.
- Убедитесь, что доступны MBean домена
org.apache.activemq. - Откройте обзорную панель Apache ActiveMQ.
- Проверьте появление сущностей брокера, очередей и топиков.
- Убедитесь, что поступают метрики с префиксом
activeMQ..
Устранение неполадок
| Проблема | Решение |
|---|---|
| Брокер не обнаружен | Проверьте установку ЕдиныйАгента и мониторинг Java-процесса брокера. |
| Метрики JMX отсутствуют | Убедитесь, что включена функция Java Metric Extensions 2.0 (JMX).
|
| MBean ActiveMQ отсутствуют | Проверьте параметр useJmx="true" и перезапустите брокер.
|
| Собирается только часть метрик | Проверьте, что в конфигурации включены необходимые наборы метрик. |
| Не создаются очереди или топики | Проверьте наличие MBean с параметрами destinationType и destinationName.
|
| Состояние брокера не изменяется | Обновите ЕдиныйАгент до версии 1.313 или новее.
|
| Не отображаются отдельные временные очереди | Проверьте, что ActiveMQ не исключает их MBean с помощью параметра suppressMBean.
|
История изменений
| Версия | Изменения |
|---|---|
| 1.2.0 |
|