ActiveMQ

本章节为 Cloud Insight 支持的平台服务的文档的示例。

目前能够想到的章节分为以下几个部分:

  • 支持的性能指标
  • 如何配置 ActiveMQ 监控
  • 常见的问题

性能指标

Cloud Insight 采集 activemq 以下性能指标:

  • activemq.broker.memory_pct
  • activemq.broker.store_pct
  • activemq.broker.temp_pct
  • activemq.queue.avg_enqueue_time
  • activemq.queue.consumer_count
  • activemq.queue.dequeue_count
  • activemq.queue.dispatch_count
  • activemq.queue.enqueue_count
  • activemq.queue.expired_count
  • activemq.queue.in_flight_count
  • activemq.queue.max_enqueue_time
  • activemq.queue.memory_pct
  • activemq.queue.min_enqueue_time
  • activemq.queue.producer_count
  • activemq.queue.size

配置 ActiveMQ 监控

启动 JMX Remote

OneAPM Cloud Insight Agent 通过 JMX 获取 ActiveMQ 中的性能指标,所以确保 JMX Remote 是 enabled 状态。

由于每个实体最多可以监控 350 个性能指标,所以您需要按照下方的配置方法,修改配置文件来确定自己需要哪些指标。

有关 JMX 采集方法,请查阅 JMX 远程监控

更多信息,请查阅 ActiveMQ 官方手册

编辑配置文件

编辑配置文件,使 Cloud Insight Agent 可以与 ActiveMQ 通信。

  • 若 ActiveMQ 版本小于 5.8,编辑配置文件 conf.d/activemq.yaml
instances:
  - host: localhost
    port: 7199
    user: username
    password: password
    name: activemq_instance


# List of metrics to be collected by the integration

init_config:
  conf:
    - include:
        Type: Queue
        attribute:
          AverageEnqueueTime:
            alias: activemq.queue.avg_enqueue_time
            metric_type: gauge
          ConsumerCount:
            alias: activemq.queue.consumer_count
            metric_type: gauge
          ProducerCount:
            alias: activemq.queue.producer_count
            metric_type: gauge
          MaxEnqueueTime:
            alias: activemq.queue.max_enqueue_time
            metric_type: gauge
          MinEnqueueTime:
            alias: activemq.queue.min_enqueue_time
            metric_type: gauge
          MemoryPercentUsage:
            alias: activemq.queue.memory_pct
            metric_type: gauge
          QueueSize:
            alias: activemq.queue.size
            metric_type: gauge
          DequeueCount:
            alias: activemq.queue.dequeue_count
            metric_type: counter
          DispatchCount:
            alias: activemq.queue.dispatch_count
            metric_type: counter
          EnqueueCount:
            alias: activemq.queue.enqueue_count
            metric_type: counter
          ExpiredCount:
            alias: activemq.queue.expired_count
            type: counter
          InFlightCount:
            alias: activemq.queue.in_flight_count
            metric_type: counter

    - include:
        Type: Broker
        attribute:
          StorePercentUsage:
            alias: activemq.broker.store_pct
            metric_type: gauge
          TempPercentUsage:
            alias: activemq.broker.temp_pct
            metric_type: gauge
          MemoryPercentUsage:
            alias: activemq.broker.memory_pct
            metric_type: gauge
  • 若 ActiveMQ 版本大于或等于 5.8,编辑配置文件 conf.d/activemq_58.yaml
instances:
  - host: localhost
    port: 7199
    user: username
    password: password
    name: activemq_instance

# List of metrics to be collected by the integration

init_config:
  conf:
    - include:
        destinationType: Queue
        attribute:
          AverageEnqueueTime:
            alias: activemq.queue.avg_enqueue_time
            metric_type: gauge
          ConsumerCount:
            alias: activemq.queue.consumer_count
            metric_type: gauge
          ProducerCount:
            alias: activemq.queue.producer_count
            metric_type: gauge
          MaxEnqueueTime:
            alias: activemq.queue.max_enqueue_time
            metric_type: gauge
          MinEnqueueTime:
            alias: activemq.queue.min_enqueue_time
            metric_type: gauge
          MemoryPercentUsage:
            alias: activemq.queue.memory_pct
            metric_type: gauge
          QueueSize:
            alias: activemq.queue.size
            metric_type: gauge
          DequeueCount:
            alias: activemq.queue.dequeue_count
            metric_type: counter
          DispatchCount:
            alias: activemq.queue.dispatch_count
            metric_type: counter
          EnqueueCount:
            alias: activemq.queue.enqueue_count
            metric_type: counter
          ExpiredCount:
            alias: activemq.queue.expired_count
            metric_type: counter
          InFlightCount:
            alias: activemq.queue.in_flight_count
            metric_type: counter

    - include:
        type: Broker
        attribute:
          StorePercentUsage:
            alias: activemq.broker.store_pct
            metric_type: gauge
          TempPercentUsage:
            alias: activemq.broker.temp_pct
            metric_type: gauge
          MemoryPercentUsage:
            alias: activemq.broker.memory_pct
            metric_type: gauge

重启 Agent

重启 OneAPM Cloud Insight Agent,使配置生效。

您也可以通过查看 Agent Info 信息,来验证配置是否成功。当出现以下信息,则代表安装成功。

Checks
======

[...]

activemq
--------
  - instance #0 [OK]
  - Collected 8 metrics & 0 events

常见问题

  • 注意看清楚 ActiveMQ 的版本,根据不同版本配置不同的文件。