Support RocketMQ Monitoring

Motivation

RocketMQ is a cloud native messaging and streaming platform, making it simple to build event-driven applications. Now that Skywalking can monitor OpenTelemetry metrics, I want to add RocketMQ monitoring via the OpenTelemetry Collector, which fetches metrics from the RocketMQ Exporter

Architecture Graph

There is no significant architecture-level change.

Proposed Changes

rocketmq-exporter collects metrics from RocketMQ and transport the data to OpenTelemetry collector, using SkyWalking openTelemetry receiver to receive these metrics。 Provide cluster, broker, and topic dimensions monitoring.

RocketMQ Cluster Supported Metrics

Monitoring PanelUnitMetric NameDescriptionData Source
Messages Produced TodayCountmeter_rocketmq_cluster_messages_produced_todayThe number of cluster messages produced today.RocketMQ Exporter
Messages Consumed TodayCountmeter_rocketmq_cluster_messages_consumed_todayThe number of cluster messages consumed today.RocketMQ Exporter
Total Producer TpsMsg/secmeter_rocketmq_cluster_total_producer_tpsThe number of messages produced per second.RocketMQ Exporter
Total Consume TpsMsg/secmeter_rocketmq_cluster_total_consumer_tpsThe number of messages consumed per second.RocketMQ Exporter
Producer Message SizeBytes/secmeter_rocketmq_cluster_producer_message_sizeThe max size of a message produced per second.RocketMQ Exporter
Consumer Message SizeBytes/secmeter_rocketmq_cluster_consumer_message_sizeThe max size of the consumed message per second.RocketMQ Exporter
Messages Produced Until YesterdayCountmeter_rocketmq_cluster_messages_produced_until_yesterdayThe total number of messages put until 12 o'clock last night.RocketMQ Exporter
Messages Consumed Until YesterdayCountmeter_rocketmq_cluster_messages_consumed_until_yesterdayThe total number of messages read until 12 o'clock last night.RocketMQ Exporter
Max Consumer Latencymsmeter_rocketmq_cluster_max_consumer_latencyThe max number of consumer latency.RocketMQ Exporter
Max CommitLog Disk Ratio%meter_rocketmq_cluster_max_commitLog_disk_ratioThe max utilization ratio of the commit log disk.RocketMQ Exporter
CommitLog Disk Ratio%meter_rocketmq_cluster_commitLog_disk_ratioThe utilization ratio of the commit log disk per broker IP.RocketMQ Exporter
Pull ThreadPool Queue Head Wait Timemsmeter_rocketmq_cluster_pull_threadPool_queue_head_wait_timeThe wait time in milliseconds for pulling threadPool queue per broker IP.RocketMQ Exporter
Send ThreadPool Queue Head Wait Timemsmeter_rocketmq_cluster_send_threadPool_queue_head_wait_timeThe wait time in milliseconds for sending threadPool queue per broker IP.RocketMQ Exporter
Topic CountCountmeter_rocketmq_cluster_topic_countThe number of topics that received messages from the producer.RocketMQ Exporter
Broker CountCountmeter_rocketmq_cluster_broker_countThe number of brokers that received messages from the producer.RocketMQ Exporter

RocketMQ Broker Supported Metrics

Monitoring PanelUnitMetric NameDescriptionData Source
Produce TPSMsg/secmeter_rocketmq_broker_produce_tpsThe number of broker produces messages per second.RocketMQ Exporter
Consume QPSMsg/secmeter_rocketmq_broker_consume_qpsThe number of broker consumes messages per second.RocketMQ Exporter
Producer Message SizeBytes/secmeter_rocketmq_broker_producer_message_sizeThe max size of the messages produced per second.RocketMQ Exporter
Consumer Message SizeBytes/secmeter_rocketmq_broker_consumer_message_sizeThe max size of the messages consumed per second.RocketMQ Exporter

RocketMQ Topic Supported Metrics

Monitoring PanelUnitMetric NameDescriptionData Source
Max Producer Message SizeBytemeter_rocketmq_topic_max_producer_message_sizeThe maximum number of messages produced.RocketMQ Exporter
Max Consumer Message SizeBytemeter_rocketmq_topic_max_consumer_message_sizeThe maximum number of messages consumed.RocketMQ Exporter
Consumer Latencymsmeter_rocketmq_topic_consumer_latencyConsumption delay time of a consumer group.RocketMQ Exporter
Producer TpsMsg/secmeter_rocketmq_topic_producer_tpsThe number of messages produced per second.RocketMQ Exporter
Consumer Group TpsMsg/secmeter_rocketmq_topic_consumer_group_tpsThe number of messages consumed per second per consumer group.RocketMQ Exporter
Producer OffsetCountmeter_rocketmq_topic_producer_offsetThe max progress of a topic's production message.RocketMQ Exporter
Consumer Group OffsetCountmeter_rocketmq_topic_consumer_group_offsetThe max progress of a topic's consumption message per consumer group.RocketMQ Exporter
Producer Message SizeByte/secmeter_rocketmq_topic_producer_message_sizeThe max size of messages produced per second.RocketMQ Exporter
Consumer Message SizeByte/secmeter_rocketmq_topic_consumer_message_sizeThe max size of messages consumed per second.RocketMQ Exporter
Consumer Group_CountCountmeter_rocketmq_topic_consumer_group_countThe number of consumer groups.RocketMQ Exporter
Broker CountCountmeter_rocketmq_topic_broker_countThe number of topics that received messages from the producer.RocketMQ Exporter

Imported Dependencies libs and their licenses.

No new dependency.

Compatibility

no breaking changes.

General usage docs

This feature is out of the box.