Monitoring Alibaba Cloud RocketMQ Technology Preview

Configuration

AliCloud RocketMQ sensor can be disabled and it can be filtered by tags and resource groups. It is possible to configure AliCloud RocketMQ sensor through agent configuration in <agentinstall_dir>/etc/instana/configuration.yaml by:

  1. Enable the AliCloud sensor and set the AccessKey pair in the agent's configuration.yaml file:

    com.instana.plugin.alicloud:
      # Valid values: true, false
      enabled: true # enabled (true) by default
      # Alibaba Cloud AccessKey ID  is used to verify the identity of the user
      accessKeyId: '<YOUR_ALICLOUD_ACCESSKEY_ID>'
      # Alibaba Cloud AccessKey secret is used to encrypt and verify the signature string
      accessKeySecret: '<YOUR_ALICLOUD_ACCESSKEY_SECRET>'
    
  2. Enable the AliCloud RocketMQ sensor in the agent's configuration.yaml file:

    com.instana.plugin.alicloud.rocketmq:
      # Valid values: true, false
      enabled: true # enabled (true) by default
      # Alibaba Cloud AccessKey ID  is used to verify the identity of the user
      accessKeyId: '<YOUR_ALICLOUD_ROCKETMQ_ACCESS_KEY_ID>'
      # Alibaba Cloud AccessKey secret is used to encrypt and verify the signature string
      accessKeySecret: '<YOUR_ALICLOUD_ROCKETMQ_ACCESS_KEY_SECRET>'
      # in seconds
      poll_rate: 60
    

Note: The AccessKey pair in section com.instana.plugin.alicloud can be applied for each service by default, so AccessKey pair in each service section is not required, unless you need individual AccessKey for the specific service. Set the AccessKey pair in service section overrides the AccessKey in com.instana.plugin.alicloud for the service.

Metrics collection

Configuration data

RocketMQ Details Description
Region The region where the RocketMQ instance is located
Instance ID The RocketMQ instance identity
Instance Name Name of RocketMQ instance
Instance Status The RocketMQ instance running status
Instance Type Type of RocketMQ instance

Performance metrics

Instance metrics

Instance Metric Description
MessageCountPerInstanceAll Messages per instance
MessageCountPerInstanceAllTps Message Tps per instance
ReceiveMessageCountPerInstance Receive messages per instance
ReceiveMessageCountPerInstanceTps Receive message Tps per instance
ReceiveMessageCountPerInstance1Hour Receive messages per instance in 1 hour
ReceiveMessageCountPerInstanceTps1Hour Receive message Tps per instance in 1 hour
SendMessageCountPerInstance Send messages per instance
SendMessageCountPerInstanceTps Send message Tps per instance
SendMessageCountPerInstance1Hour Send messages per instance
SendMessageCountPerInstanceTps1Hour Send message Tps per instance in 1 hour
MessageRetentionPeriod Message retention period

Group metrics

Group Metric Description
ReceiveMessageCountPerGid1Hour Receive messages per group in 1 hour
ReceiveMessageCountPerGidTps1Hour Receive message Tps per group in 1 hour
SendMessageCountPerGid1Hour Send messages per group in 1 hour
SendMessageCountPerGidTps1Hour Send message Tps per group in 1 hour
ReceiveMessageCountPerGid Receive messages per group
ReceiveMessageCountPerGidTps Receive message Tps per group
SendMessageCountPerGid Send messages per group
ConsumerLag Consumer Lag
SendDLQMessageCountPerGid Send DLQ messages per group

Group Per topic metrics

Group Per topic Metric Description
SendMessageCountPerGidTopic Send messages per group and topic
ReceiveMessageCountPerGidTopic Receive message Tps per group in 1 hour
ConsumerLagPerGidTopic Consumer Lag per group and topic
SendDLQMessageCountPerGidTopic Send DLQ messages per group and topic

Topic metrics

Group Per topic Metric Description
SendMessageCountPerTopic1Hour Send messages per topic in 1 hour
ReceiveMessageCountPerTopic1Hour Receive messages per topic in 1 hour
SendMessageCountPerTopicTps1Hour Send messages Tps per topic in 1 hour
ReceiveMessageCountPerTopicTps1Hour Receive message Tps per topic in 1 hour
SendMessageCountPerTopic Send messages per topic
ReceiveMessageCountPerTopic Receive messages per topic
SendMessageCountPerTopicTps Send message Tps per topic
ReceiveMessageCountPerTopicTps Receive message Tps per topic in 1 hour
ReceiveMessageCountPerTopicTps1Hour Receive message Tps per topic

Tracing Configuration

{:#tracing_configuration}

For java-based application of RocketMQ tracing, refer to Java Trace SDK to configure and enable tracing. See the following example configuration:

com.instana.plugin.javatrace:
  instrumentation:
    sdk:
      targets:
      - match:
          type: interface
          name: org.apache.rocketmq.client.producer.MQProducer
          method: send
        span:
          name: rmqSend
          type: EXIT
          stackDepth: 2
          tags:
          - kind: constant
            name: endpoint
            value: rmqProducer
          - kind: constant
            name: service
            value: rocketMQ                                
          - kind: argument
            name: msg
            index: 0
      - match:
          type: interface
          name: org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently
          method: consumeMessage
        span:
          name: rmqReceive
          type: INTERMEDIATE
          stackDepth: 2
          tags:
          - kind: constant
            name: endpoint
            value: rmqConsumer
          - kind: constant
            name: service
            value: rocketMQ                                
          - kind: argument
            name: msgs
            index: 0