Мониторинг 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-коннектор для работы расширения не требуется.

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

Установка расширения

  1. Установите ЕдиныйАгент на сервер ActiveMQ.
  2. Убедитесь, что Java-процесс брокера обнаружен и контролируется.
  3. Включите функцию Java Metric Extensions 2.0 (JMX).
  4. Откройте раздел управления расширениями Ключ-АСТРОМ.
  5. Загрузите подписанный пакет ru.ruscomtech.extension.jmx-activemq-1.2.0.zip.
  6. Установите и активируйте расширение.
  7. Выберите необходимые наборы метрик.
  8. Сохраните конфигурацию.

Перезапуск брокера после установки самого расширения обычно не требуется.

Конфигурация

Расширение не содержит 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-процесса.

Проверка работы

После активации расширения:

  1. Откройте контролируемый Java-процесс ActiveMQ.
  2. Проверьте состояние расширения JMX.
  3. Убедитесь, что доступны MBean домена org.apache.activemq.
  4. Откройте обзорную панель Apache ActiveMQ.
  5. Проверьте появление сущностей брокера, очередей и топиков.
  6. Убедитесь, что поступают метрики с префиксом activeMQ..

Устранение неполадок

Проблема Решение
Брокер не обнаружен Проверьте установку ЕдиныйАгента и мониторинг Java-процесса брокера.
Метрики JMX отсутствуют Убедитесь, что включена функция Java Metric Extensions 2.0 (JMX).
MBean ActiveMQ отсутствуют Проверьте параметр useJmx="true" и перезапустите брокер.
Собирается только часть метрик Проверьте, что в конфигурации включены необходимые наборы метрик.
Не создаются очереди или топики Проверьте наличие MBean с параметрами destinationType и destinationName.
Состояние брокера не изменяется Обновите ЕдиныйАгент до версии 1.313 или новее.
Не отображаются отдельные временные очереди Проверьте, что ActiveMQ не исключает их MBean с помощью параметра suppressMBean.

История изменений

Версия Изменения
1.2.0
  • Ключ-АСТРОМ 1.309.0+.
  • Добавлен атрибут контекста безопасности для создаваемых сущностей.
  • Добавлена обзорная панель для приложения работы с панелями.
  • Обновлены страницы анализа брокеров, очередей и топиков.
  • Добавлена поддержка представления сущностей и метрик в новом интерфейсе платформы.