Giter Club home page Giter Club logo

rocketmq-exporter's Introduction

Apache RocketMQ Exporter for Prometheus.

License Build Status codecov Average time to resolve an issue Percentage of issues still open Twitter Follow

Table of Contents

Compatibility

Support Apache RocketMQ version 4.3.2 (and later).

Configuration

This image is configurable using different properties, see application.properties for a configuration example.

name Default Description
rocketmq.config.namesrvAddr 127.0.0.1:9876 name server address for broker cluster
rocketmq.config.webTelemetryPath /metrics Path under which to expose metrics
server.port 5557 Address to listen on for web interface and telemetry
rocketmq.config.rocketmqVersion V4_3_2 rocketmq broker version

Build

Build Binary

mvn clean install

Build Docker Image

mvn package -Dmaven.test.skip=true docker:build

Run

Run Binary

java -jar target/rocketmq-exporter-0.0.2-SNAPSHOT-exec.jar

Run Docker Image

docker container run -itd --rm  -p 5557:5557  docker.io/rocketmq-exporter

Metrics

Documents about exposed Prometheus metrics.

Broker

Metrics details

Name Exposed information
rocketmq_broker_tps Broker produces the number of messages per second
rocketmq_broker_qps Broker consumes messages per second

Metrics output example

# HELP rocketmq_broker_tps BrokerPutNums
# TYPE rocketmq_broker_tps gauge
rocketmq_broker_tps{cluster="MQCluster",broker="broker-a",} 7.0
rocketmq_broker_tps{cluster="MQCluster",broker="broker-b",} 7.0
# HELP rocketmq_broker_qps BrokerGetNums
# TYPE rocketmq_broker_qps gauge
rocketmq_broker_qps{cluster="MQCluster",broker="broker-a",} 8.0
rocketmq_broker_qps{cluster="MQCluster",broker="broker-b",} 8.0

Producer

Metrics details

Name Exposed information
rocketmq_producer_tps The number of messages produced per second per topic
rocketmq_producer_message_size The size of a message produced per second by a topic (in bytes)
rocketmq_producer_offset The progress of a topic's production message

Metrics output example

# HELP rocketmq_producer_tps TopicPutNums
# TYPE rocketmq_producer_tps gauge
rocketmq_producer_tps{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",} 7.0
rocketmq_producer_tps{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",} 7.0
# HELP rocketmq_producer_message_size TopicPutMessageSize
# TYPE rocketmq_producer_message_size gauge
rocketmq_producer_message_size{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",} 1642.0
rocketmq_producer_message_size{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",} 1638.0
# HELP rocketmq_producer_offset TopicOffset
# TYPE rocketmq_producer_offset counter
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="TBW102",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="DEV_TID_tfq",} 1878633.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="DEV_TID_tfq",} 3843787.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="DEV_TID_20190304",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="BenchmarkTest",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="DEV_TID_20190305",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="MQCluster",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",} 2798195.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="BenchmarkTest",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",} 1459666.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="MQCluster",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="SELF_TEST_TOPIC",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="OFFSET_MOVED_EVENT",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="broker-b",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="broker-a",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="SELF_TEST_TOPIC",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="RMQ_SYS_TRANS_HALF_TOPIC",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="DEV_TID_20190305",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="OFFSET_MOVED_EVENT",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="RMQ_SYS_TRANS_HALF_TOPIC",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-b",topic="TBW102",} 0.0
rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="DEV_TID_20190304",} 0.0

Consumer Groups

Metrics details

Name Exposed information
rocketmq_consumer_tps The number of messages consumed per second by a consumer group
rocketmq_consumer_message_size The size of the message consumed by the consumer group per second (in bytes)
rocketmq_consumer_offset Progress of consumption message for a consumer group
rocketmq_group_get_latency Consumer latency on some topic for one queue
rocketmq_group_get_latency_by_storetime Consumption delay time of a consumer group
rocketmq_message_accumulation How far Consumer offset lag behind

Metrics output example

# HELP rocketmq_consumer_tps GroupGetNums
# TYPE rocketmq_consumer_tps gauge
rocketmq_consumer_tps{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 7.0
rocketmq_consumer_tps{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 7.0
# HELP rocketmq_consumer_message_size GroupGetMessageSize
# TYPE rocketmq_consumer_message_size gauge
rocketmq_consumer_message_size{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 1638.0
rocketmq_consumer_message_size{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 1642.0
# HELP rocketmq_consumer_offset GroupOffset
# TYPE rocketmq_consumer_offset counter
rocketmq_consumer_offset{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 1462030.0
rocketmq_consumer_offset{cluster="MQCluster",broker="broker-a",topic="DEV_TID_tfq",group="DEV_CID_cfq",} 3843787.0
rocketmq_consumer_offset{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 2800569.0
rocketmq_consumer_offset{cluster="MQCluster",broker="broker-b",topic="DEV_TID_tfq",group="DEV_CID_cfq",} 1878633.0
# HELP rocketmq_group_get_latency GroupGetLatency
# TYPE rocketmq_group_get_latency gauge
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="0",} 0.05
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="1",} 0.0
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="7",} 0.05
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="6",} 0.01
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="3",} 0.0
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="7",} 0.03
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="4",} 0.0
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="5",} 0.03
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="6",} 0.01
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="2",} 0.0
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="3",} 0.0
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="0",} 0.0
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="4",} 0.0
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="1",} 0.03
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="5",} 0.0
rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="2",} 0.0
# HELP rocketmq_group_get_latency_by_storetime GroupGetLatencyByStoreTime
# TYPE rocketmq_group_get_latency_by_storetime gauge
rocketmq_group_get_latency_by_storetime{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 3215.0
rocketmq_group_get_latency_by_storetime{cluster="MQCluster",broker="broker-a",topic="DEV_TID_tfq",group="DEV_CID_cfq",} 0.0
rocketmq_group_get_latency_by_storetime{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 3232.0
rocketmq_group_get_latency_by_storetime{cluster="MQCluster",broker="broker-b",topic="DEV_TID_tfq",group="DEV_CID_cfq",} 0.0

Consumer

Metrics details

Name Exposed information
rocketmq_client_consume_fail_msg_count The number of messages consumed fail in one hour
rocketmq_client_consume_fail_msg_tps The number of messages consumed fail per second
rocketmq_client_consume_ok_msg_tps The number of messages consumed success per second
rocketmq_client_consume_rt The average time of consuming every message
rocketmq_client_consumer_pull_rt The average time of pulling every message
rocketmq_client_consumer_pull_tps The number of messages pulled by client per second

Metrics output example

# HELP rocketmq_client_consume_fail_msg_count consumerClientFailedMsgCounts
# TYPE rocketmq_client_consume_fail_msg_count gauge
rocketmq_client_consume_fail_msg_count{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="topic_one",} 0.0
rocketmq_client_consume_fail_msg_count{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="%RETRY%consumer_one",} 0.0
# HELP rocketmq_client_consume_fail_msg_tps consumerClientFailedTPS
# TYPE rocketmq_client_consume_fail_msg_tps gauge
rocketmq_client_consume_fail_msg_tps{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="topic_one",} 0.0
rocketmq_client_consume_fail_msg_tps{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="%RETRY%consumer_one",} 0.0
# HELP rocketmq_client_consume_ok_msg_tps consumerClientOKTPS
# TYPE rocketmq_client_consume_ok_msg_tps gauge
rocketmq_client_consume_ok_msg_tps{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="topic_one",} 9.833333333333334
rocketmq_client_consume_ok_msg_tps{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="%RETRY%consumer_one",} 0.0
# HELP rocketmq_client_consume_rt consumerClientRT
# TYPE rocketmq_client_consume_rt gauge
rocketmq_client_consume_rt{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="topic_one",} 0.0576271186440678
rocketmq_client_consume_rt{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="%RETRY%consumer_one",} 0.0
# HELP rocketmq_client_consumer_pull_rt consumerClientPullRT
# TYPE rocketmq_client_consumer_pull_rt gauge
rocketmq_client_consumer_pull_rt{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="topic_one",} 402.6186440677966
rocketmq_client_consumer_pull_rt{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="%RETRY%consumer_one",} 0.0
# HELP rocketmq_client_consumer_pull_tps consumerClientPullTPS
# TYPE rocketmq_client_consumer_pull_tps gauge
rocketmq_client_consumer_pull_tps{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="topic_one",} 9.833333333333334
rocketmq_client_consumer_pull_tps{clientAddr="172.16.116.51:52178",clientId="10.0.4.0@120367",group="consumer_one",topic="%RETRY%consumer_one",} 0.0

Grafana Dashboard

There are two dashboard to choose from:

The First

Grafana Dashboard ID: 10477, name: RocketMQ Exporter Overview. For details of the dashboard please see RocketMQ Exporter Overview.

SkyWalking Dashboard

Since 10.0, SkyWalking has provided bundled native monitoring dashboards for RocketMQ through this exporter and OpenTelemetry collector. For settings details, please read RocketMQ monitoring doc.

The Second

rocketmq_exporter.json

Note: It must be configured with two additional labels(Env and Cluster), when configured on the prometheus, as shown bellow:

  - job_name: 'rocketmq-exporter'
    static_configs:
    - targets: ['localhost:5557']
      labels:
        Env: 'develop'
        Cluster: 'local'

Quick Start

This guide will tell you how to build and run rocketmq exporter with Prometheus and Grafana Integration from scratch.

rocketmq-exporter's People

Contributors

breezecoolyang avatar caigy avatar caorong avatar cserwen avatar dependabot[bot] avatar duhenglucky avatar easyforgood avatar ferrirw avatar francisoliverlee avatar haozhijie9527 avatar hdchen avatar humkum avatar maixiaohai avatar matrixhb avatar qsrg avatar rongtongjin avatar shannonding avatar sunxi92 avatar ther1sing3un avatar vongosling avatar wlliqipeng avatar wu-sheng avatar xxd763795151 avatar yanyunyang avatar zhouxinyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rocketmq-exporter's Issues

Due Diligence for RocketMQ Exporter

Due Diligence

Exporter is an important part of Prometheus monitoring, which is responsible for data collection. The RocketMQ exporter project focuses on the collection of rocketmq monitoring data, which has attracted the attention of many developers and enterprises after open source. In order to better understand the use of the RocketMQ exporter, and continue to optimize it. Here, we sincerely invite you to take a minute to feedback on your usage scenario.

What we expect from you

Pls. submit a comment in this issue to include the following information:
• your company, school or organization
• your country and city
• your contact info, such as email, WeChat and twitter (optional).
• usage scenario

You can refer to the following sample answer for the format:

* Organization: XX Company
* Location: Seoul, South Korea
* Contact: [email protected]
* usage scenario: At present, the exporter monitors about 200 + brokers, 3W + queues and 5000 + 4core 16g virtual machines in rocketmq cluster, which are mainly used to support core payment system and real-time communication system. The online time is August 2019.

Thanks again for your participation!
Apache RocketMQ Community

聆听你的声音

Exporter是 Prometheus的重要组成部分,主要负责数据采集。RocketMQ Exporter项目专注于RocketMQ监控数据的收集,开源后受到很多开发者和企业的关注。为了更好的了解RocketMQ exporter项目的使用情况,并对其进行持续优化。在这里,我们诚恳的邀请您花费1分钟的时间来反馈一下您的使用场景。

我们期待您能提供

一条评论, 评论内容包括但不限于:
• 您所在公司、学校或组织
• 您所在的国家与城市
• 您的联系方式: 邮箱、微信、Twitter账号 (为了更好地保持联系,建议您留下联系方式)
• 您将Apache RocketMQ Exporter客户端用于哪些业务场景,使用规模如何
• 您的反馈意见

您可以参考下面的样例来提供您的信息:

* 公司名称:XX有限公司
* 公司简介(可选):
* 地点:韩国首尔
* 联系方式:[email protected]
* 场景与规模:Exporter目前监控RocketMQ集群规模大约 200+台broker,3W+队列数,客户端规模5000+台 4core 16g 虚拟机,主要用于支持核心支付系统以及实时通讯系统后台业务,上线时间2019年8月。
* 评论:

非常感谢您的参与
Apache RocketMQ Community

rocketmq_producer_message_size has bug

try { //how many bytes has sent for the topic bsd = mqAdminExt.viewBrokerStatsData(masterAddr, BrokerStatsManager.TOPIC_PUT_SIZE, topic); String brokerIP = clusterInfo.getBrokerAddrTable().get(bd.getBrokerName()).getBrokerAddrs().get(MixAll.MASTER_ID); metricsService.getCollector().addTopicPutSizeMetric( bd.getCluster(), bd.getBrokerName(), brokerIP, topic, Utils.getFixedDouble(bsd.getStatsMinute().getTps()) );

in MetricsCollectTask 434 line,TopicPutSize use getTps

Grafana dashboard can't show most of the metrics

Describe the bug
Grafana dashboard can't show most of the metrics

image

exporter version: 0.0.2-SNAPSHOT
rocketmq version: 4.7.0
prometheus version: 2.20.0
grafana version: 6.2.5
dashboard config : rocketmq-dashboard_rev3.json

Additional context
Exporter log many error like this:

java.lang.NullPointerException: null
	at org.apache.rocketmq.exporter.task.MetricsCollectTask.collectConsumerOffset(MetricsCollectTask.java:345)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)
	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
	at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

metric expose with type

hi,
I found that the metrics's metricType exposed can not be recognized clearly (gauge, counter, histogram etc.) Would you like to add its description so that we can define how to query it.

NO Support Apache RocketMQ version 4.7.1 ; build error

@service("mqAdminExtImpl")
public class MQAdminExtImpl implements MQAdminExt {
@Autowired

.....

Multiple markers at this line
- The type MQAdminExtImpl must implement the inherited abstract method MQAdminExt.deletePlainAccessConfig(String, String)
- The type MQAdminExtImpl must implement the inherited abstract method MQAdminExt.examineBrokerClusterAclVersionInfo(String)
- The type MQAdminExtImpl must implement the inherited abstract method MQAdminExt.examineBrokerClusterAclConfig(String)
- The type MQAdminExtImpl must implement the inherited abstract method MQAdminExt.createAndUpdatePlainAccessConfig(String,
PlainAccessConfig)
- The type MQAdminExtImpl must implement the inherited abstract method MQAdminExt.resumeCheckHalfMessage(String)
- The type MQAdminExtImpl must implement the inherited abstract method MQAdminExt.resumeCheckHalfMessage(String, String)
- The type MQAdminExtImpl must implement the inherited abstract method MQAdminExt.updateGlobalWhiteAddrConfig(String, String)

=======

DefaultMQPullConsumer pullConsumer = new DefaultMQPullConsumer(TOOLS_CONSUMER_GROUP, null);

Multiple markers at this line
- The type DefaultMQPullConsumer is deprecated
- The type DefaultMQPullConsumer is deprecated
- The constructor DefaultMQPullConsumer(String, RPCHook) is
ambiguous

metric interface error

Describe the bug
ERROR Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

To Reproduce

1、my rocketmq cluster:
[root@iZuf656r3kyeyoiwpox5naZ ~]# kubectl get po -owide |grep rocketmq-im
rocketmq-rocketmq-im-broker-0-0 1/1 Running 0 19h 100.64.33.112 izuf615h19nemtvcuth6i1z
rocketmq-rocketmq-im-broker-0-1 1/1 Running 0 10d 100.64.96.104 izuf6h2l856zkil30nj0jvz
rocketmq-rocketmq-im-broker-1-0 1/1 Running 0 19h 100.64.171.150 izuf6auntvsw7izt7fuj49z
rocketmq-rocketmq-im-broker-1-1 1/1 Running 0 19h 100.64.81.124 izuf60i0j5b3hllnuvtlg2z
rocketmq-rocketmq-im-exporter-0 1/1 Running 0 8d 100.64.140.119 izuf68qwbr71d4x3noker8z
rocketmq-rocketmq-imnamesrv-0 1/1 Running 0 28d 100.64.33.76 izuf615h19nemtvcuth6i1z
rocketmq-rocketmq-imnamesrv-1 1/1 Running 1 28d 100.64.232.143 izuf6dftvdiba6ltbf9qeqz

2、exporter service:
[root@iZuf656r3kyeyoiwpox5naZ ~]# kubectl get svc |grep rocketmq-im-exporter
rocketmq-rocketmq-im-exporter ClusterIP None 5557/TCP 28d

3、use metrics interface:
curl 100.64.140.119:5557/metrics
{"timestamp":"2021-05-20T03:05:48.494+0000","status":500,"error":"Internal Server Error","message":"No message available","path":"/metrics"}

4、exporter log:
[2021-05-20 10:55:22.086] ERROR Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
rocketmq cluster is health,there is no more detailed log in the rocketmq exporter.

Build failure

Describe the bug
A clear and concise description of what the bug is.
run mvn clean install got ERROR

image

Additional context

/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java:134:47: error: ')' is preceded with whitespace.

it can not find monitoring item

hi,
After build package with master branch and started up exporter, i can not find some monitoring item.
like rocketmq_broker_tps / rocketmq_broker_tps / rocketmq_producer_tps and so on.
from latest code, i also can not find these monitoring item.
Is there anything wrong from my side ?

Whether to support rocketmq 4.9 DLedger cluster?

cluster info:
image

step:

git clone https://github.com.cnpmjs.org/apache/rocketmq-exporter.git
mvn clean install                                                   
nohup java -jar rocketmq-exporter-0.0.2-SNAPSHOT.jar --rocketmq.config.namesrvAddr=10.16.100.60:9876 -rocketmq.config.rocketmqVersion=V4.9.0 &
#or
nohup java -jar rocketmq-exporter-0.0.2-SNAPSHOT.jar --rocketmq.config.namesrvAddr=10.16.100.60:9876 -rocketmq.config.rocketmqVersion=V4_9_0 &

error:

[2021-07-28 16:13:32.952]  INFO Starting RocketMQExporterApplication v0.0.2-SNAPSHOT on mq2 with PID 4082 (/data/prometheus/rocketmq-exporter/rocketmq-exporter-0.0.2-SNAPSHOT.jar started by root in /data/prometheus/rocketmq-exporter)
[2021-07-28 16:13:32.955]  INFO No active profile set, falling back to default profiles: default
[2021-07-28 16:13:33.974]  INFO Tomcat initialized with port(s): 5557 (http)
[2021-07-28 16:13:33.991]  INFO Initializing ProtocolHandler ["http-nio-5557"]
[2021-07-28 16:13:34.002]  INFO Starting service [Tomcat]
[2021-07-28 16:13:34.002]  INFO Starting Servlet engine: [Apache Tomcat/9.0.14]
[2021-07-28 16:13:34.014]  INFO The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
[2021-07-28 16:13:34.087]  INFO Initializing Spring embedded WebApplicationContext
[2021-07-28 16:13:34.088]  INFO Root WebApplicationContext: initialization completed in 1092 ms
[2021-07-28 16:13:34.185]  INFO setNameSrvAddrByProperty nameSrvAddr=10.16.100.60:9876
[2021-07-28 16:13:34.190]  INFO setWebTelemetryPath webTelemetryPath=/metrics
[2021-07-28 16:13:34.191]  INFO setRocketmqVersion rocketmqVersion=490
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
[2021-07-28 16:14:02.518]  INFO MetricsCollectTask init starting....
[2021-07-28 16:14:05.519]  WARN Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metricsCollectTask': Invocation of init method failed; nested exception is org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to null failed
[2021-07-28 16:14:05.529]  INFO Stopping service [Tomcat]
[2021-07-28 16:14:05.539]  INFO 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
[2021-07-28 16:14:05.542] ERROR Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metricsCollectTask': Invocation of init method failed; nested exception is org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to null failed
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:139)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:419)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1737)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:576)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:846)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:863)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
	at org.apache.rocketmq.exporter.RocketMQExporterApplication.main(RocketMQExporterApplication.java:29)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to null failed
	at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:394)
	at org.apache.rocketmq.client.impl.MQClientAPIImpl.getBrokerClusterInfo(MQClientAPIImpl.java:1333)
	at org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl.examineBrokerClusterInfo(DefaultMQAdminExtImpl.java:306)
	at org.apache.rocketmq.tools.admin.DefaultMQAdminExt.examineBrokerClusterInfo(DefaultMQAdminExt.java:251)
	at org.apache.rocketmq.exporter.service.client.MQAdminExtImpl.examineBrokerClusterInfo(MQAdminExtImpl.java:227)
	at org.apache.rocketmq.exporter.task.MetricsCollectTask.init(MetricsCollectTask.java:123)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:363)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:307)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
	... 26 common frames omitted

what do I do?

rocketmq-exporter scrape metric error

rocketmq version 4.6.1

ERROR Unexpected error occurred in scheduled task.
java.lang.RuntimeException: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to failed
at com.google.common.base.Throwables.propagate(Throwables.java:160)
at org.apache.rocketmq.exporter.task.MetricsCollectTask.collectTopic(MetricsCollectTask.java:221)
at org.apache.rocketmq.exporter.task.MetricsCollectTask$$FastClassBySpringCGLIB$$3a89d188.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
at org.apache.rocketmq.exporter.aspect.admin.MQAdminAspect.aroundMQAdminMethod(MQAdminAspect.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at org.apache.rocketmq.exporter.task.MetricsCollectTask$$EnhancerBySpringCGLIB$$ef582b8a.collectTopic()
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to failed
at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:392)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.getTopicListFromNameServer(MQClientAPIImpl.java:1239)
at org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl.fetchAllTopicList(DefaultMQAdminExtImpl.java:222)
at org.apache.rocketmq.tools.admin.DefaultMQAdminExt.fetchAllTopicList(DefaultMQAdminExt.java:189)
at org.apache.rocketmq.exporter.service.client.MQAdminExtImpl.fetchAllTopicList(MQAdminExtImpl.java:155)
at org.apache.rocketmq.exporter.service.client.MQAdminExtImpl$$FastClassBySpringCGLIB$$a8630673.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
at org.apache.rocketmq.exporter.aspect.admin.MQAdminAspect.aroundMQAdminMethod(MQAdminAspect.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at org.apache.rocketmq.exporter.service.client.MQAdminExtImpl$$EnhancerBySpringCGLIB$$c00ab52b.fetchAllTopicList()
at org.apache.rocketmq.exporter.task.MetricsCollectTask.collectTopic(MetricsCollectTask.java:146)
... 32 common frames omitted

ERROR Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception java.io.CharConversionException: Not an ISO 8859-1 character: [

I meet the exception as following:

[2021-05-17 15:56:52.554] ERROR Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception java.io.CharConversionException: Not an ISO 8859-1 character: [ at javax.servlet.ServletOutputStream.print(ServletOutputStream.java:75) at org.apache.rocketmq.exporter.controller.RMQMetricsController.metrics(RMQMetricsController.java:50) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

the metrics seem like this:
image

Is this a problem of the exporter or my rocketmq?

Answers I found say it's a problem of Chinese character when using ServletOutputStream. So I change the code like this according to the suggestions from the Internet:
image

then the exporter works right.

Metrics rocketmq_consumer_offset's tag countOfOnlineConsumers doesn't behave as expected

Describe the bug
I deleted the subscription group, then queried the metrics rocketmq_consumer_offset in prometheus, and found the value of tag countOfOnlineConsumers was still 1.

To Reproduce
Steps to reproduce the behavior:

  1. Delete the subscription group through rocketmq console or the script provided by rocket mq sh mqadmin deleteSubGroup -n namesrv -c cluster -g groupName, say groupName is test-accumulate-consumer-1
  2. Query metrics through prometheus, rocketmq_group_diff{group="test-accumulate-consumer-1"}
  3. Result is
    图片
  4. As shown in console, find no consumer

图片

Expected behavior
Expect the value of tag countOfOnlineConsumers to be 0 rather than 1. As shown below
rocketmq_group_diff{countOfOnlineConsumers="0",group="test-accumulate-consumer-1",instance="172.20.22.30:5557",job="dev-metrics",msgModel="1",topic="test-accumulate"}

Desktop (please complete the following information):

  • Rocketmq broker version is V4_7_0

Additional context
I found a similar issue here: #62

A required class was missing while executing org.springframework.boot:spring-boot-maven-plugin:2.1.2.RELEASE:repackage: org/apache/maven/shared/utils/StringUtils

When i execute mvn clean install,an error is reported during compilation,the log is as follows。
Modify pom.xml to

org.springframework.boot
spring-boot-maven-plugin

change into

org.springframework.boot
spring-boot-maven-plugin
1.5.7.RELEASE

No more errors. But the setting in parent is also 2.1.2, I want to know why?

org.springframework.boot
spring-boot-starter-parent
2.1.2.RELEASE

error log:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.231 s
[INFO] Finished at: 2020-11-06T15:54:59+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.1.2.RELEASE:repackage (repackage) on project rocketmq-exporter: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.1.2.RELEASE:repackage failed: A required class was missing while executing org.springframework.boot:spring-boot-maven-plugin:2.1.2.RELEASE:repackage: org/apache/maven/shared/utils/StringUtils
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.springframework.boot:spring-boot-maven-plugin:2.1.2.RELEASE

Could not support the latest sdk

Describe the bug
The exporter could not support the latest 4.8.0 because of some incompatible instrument logic in some classes.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

occur error in running

Describe the bug
occur error in running

To Reproduce
Steps to reproduce the behavior:
use the aliyun rocketmq, but run occur error, like this:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metricsCollectTask': Invocation of init method failed; nested exception is org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to failed

Expected behavior
i expect it can runalbe and have lots of metrics info

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

rocketmq-exporter causes OOM error

Describe the bug
We use rocketmq-exporter to capture the metrics of the rocketmq cluster. Because our cluster has a large number of users, OOM errors often occur, causing the exporter to be unavailable,which makes a huge impact on our company's business.The error log is as follows:
image
Additional context
To access the specified interface I found that there are too many metrics.And there are so many expired metrics that we don’t need. With searching the key word “rocketmq_”, I get 225425 metrics,which is inaccurate.
image
Go further. By analyzing the heap dump file captured at the OOM time,I found that there are a large number of ConcurrentHashMap Instance,as follows:
image
Moreover, I create a new consumer group"consumer_h", after a series send and consume test, I delete this consumer group. I found that there are still so many metrics for the deleted consumer, as follows:
3510a629-df4e-4f16-a8f4-9b2bfb5c5308
And this is the same issue as described in issue #60 and issue #62

build-error

[INFO] Starting audit...
/root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java:134:47: error: ')' is preceded with whitespace.
Audit done.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:58 min
[INFO] Finished at: 2020-10-26T16:23:22+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (verify) on project rocketmq-exporter: Failed during checkstyle execution: There is 1 error reported by Checkstyle 6.11.2 with style/rmq_checkstyle.xml ruleset. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (verify) on project rocketmq-exporter: Failed during checkstyle execution
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed during checkstyle execution
at org.apache.maven.plugin.checkstyle.CheckstyleViolationCheckMojo.execute (CheckstyleViolationCheckMojo.java:547)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.checkstyle.exec.CheckstyleExecutorException: There is 1 error reported by Checkstyle 6.11.2 with style/rmq_checkstyle.xml ruleset.
at org.apache.maven.plugin.checkstyle.exec.DefaultCheckstyleExecutor.executeCheckstyle (DefaultCheckstyleExecutor.java:313)
at org.apache.maven.plugin.checkstyle.CheckstyleViolationCheckMojo.execute (CheckstyleViolationCheckMojo.java:538)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[root@localhost rocketmq-exporter]#

mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven
Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: /usr/local/jdk/release/jdk1.8.0_131/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1127.19.1.el7.x86_64", arch: "amd64", family: "unix"

why the "rocketmq_group_count" can get the consumer group that has been deleted

Describe the bug
I have many consumer groups has been deleted from namesrv,then exec shell command mqadmin consumerProgress -n <namesrv ip>:9876 ,can not get those consumer groups, but the metric rocketmq_group_count can get; The metric rocketmq_group_diff can not get those consumer groups that has been deleted,Is the right;

To Reproduce
Steps to reproduce the behavior:

  1. mqadmin deleteSubGroup -g <group name> -n <namesrv ip>:9876 -c DefaultCluster,delete several groups;
  2. mqadmin consumerProgress -n <namesrv ip>:9876, Confirm the result of the deletion;
  3. Get the value of the metric rocketmq_group_count, Check that those deleted groups still exist ;

Expected behavior
rocketmq_group_count cannot get the deleted consumer groups;

Desktop (please complete the following information):

  • OS: debian 10
  • Browser: chrome
  • Version: master

retention period for the rocketmq-exporter

Hi

I would like to know how to setup the retention period for the data housekeeping? or the metrics data will keep within a period of time (like 90 days). thanks alot.

can't build image, get no such file or directory error

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. clone master branch
  2. exec “mvn package -Dmaven.test.skip=true docker:build”
  3. get error “ADD failed: stat /mnt/sda1/var/lib/docker/tmp/docker-builder484560312/rocketmq-exporter-0.0.1-SNAPSHOT.jar: no such file or directory ”
    [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 10.604 s [INFO] Finished at: 2020-12-30T12:18:41+08:00 [INFO] Final Memory: 35M/124M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.11:build (default-cli) on project rocketmq-exporter: Exception caught: ADD failed: stat /mnt/sda1/var/lib/docker/tmp/docker-builder484560312/rocketmq-exporter-0.0.1-SNAPSHOT.jar: no such file or directory -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

OS: window10
maven: 3.6.3
jdk: 11
docker: 18.03.0-ce, build 0520e24302

need help,plz

Building Failed.

Describe the bug
Building Failed

Additional context
[INFO] Starting audit... /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/config/CollectClientMetricExecutorConfig.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/config/ScheduleConfig.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:69: error: 'member def modifier' have incorrect indentation level 5, expected level should be 4. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:71: error: 'member def modifier' have incorrect indentation level 5, expected level should be 4. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:73: error: 'member def modifier' have incorrect indentation level 5, expected level should be 4. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:75: error: 'member def modifier' have incorrect indentation level 5, expected level should be 4. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:77: error: 'member def modifier' have incorrect indentation level 5, expected level should be 4. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:79: error: 'member def modifier' have incorrect indentation level 5, expected level should be 4. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:171:33: error: Name 'GROUP_DIFF_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:184:33: error: Name 'GROUP_COUNT_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:220:33: error: Name 'TOPIC_OFFSET_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:224:33: error: Name 'DLQ_TOPIC_OFFSET_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:289:33: error: Name 'GROUP_CLIENT_METRIC_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:341:33: error: Name 'GROUP_PULL_LATENCY_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:344:33: error: Name 'GROUP_LATENCY_BY_STORETIME_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:348:33: error: Name 'BROKER_NUMS_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:374:33: error: Name 'GROUP_NUMS_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:518:33: error: Name 'TOPIC_NUMS_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java:1002:33: error: Name 'BROKER_RUNTIME_METRIC_LABEL_NAMES' must match pattern '^[a-z][a-zA-Z0-9]*$'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/common/TwoTuple.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/DLQTopicOffsetMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/brokerruntime/BrokerRuntimeMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/clientrunime/ConsumerRuntimeConsumeFailedTPSMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/clientrunime/ConsumerRuntimePullTPSMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/clientrunime/ConsumerRuntimeConsumeFailedMsgsMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/clientrunime/ConsumerRuntimeConsumeRTMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/clientrunime/ConsumerRuntimePullRTMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/clientrunime/ConsumerRuntimeConsumeOKTPSMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/ConsumerTopicDiffMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/ConsumerTopicDiffMetric.java:14: error: Not allow chinese character ! /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/ConsumerCountMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/ProducerMetric.java:19: error: Not allow chinese character ! /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/metrics/TopicPutNumMetric.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/model/BrokerRuntimeStats.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/task/ClientMetricTaskRunnable.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/task/ClientMetricCollectorFixedThreadPoolExecutor.java:1: error: Line does not match expected header line of '/\*'. /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java:122: error: Not allow chinese character ! /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java:569: error: Not allow chinese character ! /root/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java:570: error: Not allow chinese character ! Audit done.

Add statistics for each delay level of SCHEDULE_TOPIC_XXXX

  • Rely on RocketMQ service to support queue-level statistics for delayed messages.
    apache/rocketmq#3296

Background
In order to increase the ability to monitor delayed messages, it is necessary to count the production/delivery and accumulated index data of each delay level of delayed messages.

Describe the solution you'd like

  • Add the delivery QPS for SCHEDULE_TOPIC_XXXX
  • Add the delivery QPS for each queue for SCHEDULE_TOPIC_XXXX
  • Add the write TPS of each queue for SCHEDULE_TOPIC_XXXX
  • Add the groupDiff of each queue for SCHEDULE_TOPIC_XXXX

Sample

  • The write TPS of each queue for SCHEDULE_TOPIC_XXXX
    image

  • The delivery QPS for SCHEDULE_TOPIC_XXXX
    image

  • The delivery QPS for each queue for SCHEDULE_TOPIC_XXXX
    image

  • The groupDiff of each queue for SCHEDULE_TOPIC_XXXX
    image

The stats <TOPIC_PUT_NUMS> <mytopic> not exist

Describe the bug

TOPIC_PUT_NUMS-error, topic=mytopic, master broker=1.2.3.4:10911, The stats <TOPIC_PUT_NUMS> <mytopic> not exist

Additional context
Almost every topic fetch metrics failed, and topic has traffic. My rocketmq version is 4_5_1, did I missed configuration?

not have rocketmq_ group_ get_ latency

Describe the bug
The new version does not have rocketmq_ group_ get_ latency,I'd like to know if my consumer group has any delay and should look at that indicator,rocketmq_ group_ get_ latency_ by_ storetime is not the consumption delay of the client

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

get error when build docker image

Describe the bug

  1. clone code
  2. exec "mvn package -Dmaven.test.skip=true docker:build" when i want to get image. maven print error like this:
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ rocketmq-exporter ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 31 source files to D:\02.src\100.rocketmq-exporter\rocketmq-exporter\target\classes
[INFO] /D:/02.src/100.rocketmq-exporter/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/service/client/MQAdminExtImpl.java: 某些输入文件使用或覆盖了已过时的 API。
[INFO] /D:/02.src/100.rocketmq-exporter/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/service/client/MQAdminExtImpl.java: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
[INFO] /D:/02.src/100.rocketmq-exporter/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/task/ClientMetricCollectorFixedThreadPoolExecutor.java: D:\02.src\100.rocketmq-exporter\rocketmq-exporter\src\main\java\org\apache\rocketmq\exporter\task\ClientMetricCollectorFixedThreadPoolExecutor.java使用了未经检查或不安全的操作。
[INFO] /D:/02.src/100.rocketmq-exporter/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/task/ClientMetricCollectorFixedThreadPoolExecutor.java: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /D:/02.src/100.rocketmq-exporter/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/service/client/MQAdminExtImpl.java:[79,8] org.apache.rocketmq.exporter.service.client.MQAdminExtImpl不是抽象的, 并且未覆盖org.apache.rocketmq.tools.admin.MQAdminExt中的抽象方法resumeCheckHalfMessage(java.lang.String,java.lang.String)
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.161 s
[INFO] Finished at: 2020-12-29T09:42:23+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project rocketmq-exporter: Compilation failure
[ERROR] /D:/02.src/100.rocketmq-exporter/rocketmq-exporter/src/main/java/org/apache/rocketmq/exporter/service/client/MQAdminExtImpl.java:[79,8] org.apache.rocketmq.exporter.service.client.MQAdminExtImpl不是抽象的, 并且未覆盖org.apache.rocketmq.tools.admin.MQAdminExt中的抽象方法resumeCheckHalfMessage(java.lang.String,java.lang.String)
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Desktop (please complete the following information):

  • OS: window10
  • maven: 3.6.3
  • jdk: 11
  • docker: 18.03.0-ce, build 0520e24302

need help.

can not find producer-related metrics from metrics api

hi,
I clone rocketMq exporter and build binary as Readme said. But I can not find producer-related metrics when i running jar file.

commit revision: 5d25982183c283e62ca63d6cd859dfaa74363b29
rocketMq version:  V4_7_0 and V4_6_0
command:  java -Drocketmq.config.namesrvAddr="{{host}}:{{port}}" -Drocketmq.config.rocketmqVersion="V4_7_0" -jar /path/to/rocketmq-exporter-0.0.2-SNAPSHOT.jar

I call from browser and try to search 'producer' but got nothing.
Thanks

got error while getting broker stats

Hi,
I encontered error like "[2020-04-23 16:22:15.597] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist" while booting rocketmq exporter, no error seen in broker log. I searched the internet but got no clue for the problem, could you help for the cause and the fix to the problem, thanks.

full exporter log:
10:36:37,243 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
10:36:37,244 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
10:36:37,244 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/home/prometheus/rocketmq_exporter/rocketmq-exporter-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/logback.xml]
10:36:37,270 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@6659c656 - URL [jar:file:/home/prometheus/rocketmq_exporter/rocketmq-exporter-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/logback.xml] is not of type file
10:36:37,317 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
10:36:37,318 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
10:36:37,327 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
10:36:37,334 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
10:36:37,379 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
10:36:37,382 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
10:36:37,402 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1834188994 - No compression will be used
10:36:37,403 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1834188994 - Will use the pattern /root/logs/exporterlogs/rocketmq-exporter-%d{yyyy-MM-dd}.%i.log for the active file
10:36:37,405 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@45ff54e6 - The date pattern is 'yyyy-MM-dd' from file name pattern '/root/logs/exporterlogs/rocketmq-exporter-%d{yyyy-MM-dd}.%i.log'.
10:36:37,406 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@45ff54e6 - Roll-over at midnight.
10:36:37,408 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@45ff54e6 - Setting initial period to Fri Apr 24 10:24:07 CST 2020
10:36:37,409 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@45ff54e6 - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead
10:36:37,409 |-WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@45ff54e6 - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy
10:36:37,411 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
10:36:37,413 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - Active log file name: /root/logs/exporterlogs/rocketmq-exporter.log
10:36:37,413 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - File property is set to [/root/logs/exporterlogs/rocketmq-exporter.log]
10:36:37,414 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
10:36:37,414 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
10:36:37,415 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]
10:36:37,415 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
10:36:37,415 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@2328c243 - Registering current configuration as safe fallback point

. ____ _ __ _ _
/\ / ' __ _ () __ __ _ \ \ \
( ( )_
_ | '_ | '| | ' / ` | \ \ \
\/ )| |)| | | | | || (| | ) ) ) )
' |
| .__|| ||| |_, | / / / /
=========|
|==============|/=////
:: Spring Boot :: (v2.1.2.RELEASE)

[2020-04-24 10:36:37.756] INFO Starting RocketMQExporterApplication v0.0.1-SNAPSHOT on ma-db-uat-01 with PID 28752 (/home/prometheus/rocketmq_exporter/rocketmq-exporter-0.0.1-SNAPSHOT.jar started by root in /home/prometheus/rocketmq_exporter)
[2020-04-24 10:36:37.759] INFO No active profile set, falling back to default profiles: default
[2020-04-24 10:36:39.251] INFO Tomcat initialized with port(s): 9123 (http)
[2020-04-24 10:36:39.268] INFO Initializing ProtocolHandler ["http-nio-9123"]
[2020-04-24 10:36:39.285] INFO Starting service [Tomcat]
[2020-04-24 10:36:39.285] INFO Starting Servlet engine: [Apache Tomcat/9.0.14]
[2020-04-24 10:36:39.298] INFO The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
[2020-04-24 10:36:39.436] INFO Initializing Spring embedded WebApplicationContext
[2020-04-24 10:36:39.437] INFO Root WebApplicationContext: initialization completed in 1633 ms
[2020-04-24 10:36:39.577] INFO setNameSrvAddrByProperty nameSrvAddr=10.51.0.51:9876
[2020-04-24 10:36:39.579] INFO setWebTelemetryPath webTelemetryPath=/metrics
[2020-04-24 10:36:39.579] INFO setRocketmqVersion rocketmqVersion=4_3_2
[2020-04-24 10:36:40.165] INFO Initializing ExecutorService 'applicationTaskExecutor'
[2020-04-24 10:36:40.447] INFO Initializing ExecutorService 'taskScheduler'
[2020-04-24 10:36:40.494] INFO Starting ProtocolHandler ["http-nio-9123"]
[2020-04-24 10:36:40.512] INFO Tomcat started on port(s): 9123 (http) with context path ''
[2020-04-24 10:36:40.514] INFO Started RocketMQExporterApplication in 3.032 seconds (JVM running for 3.526)
[2020-04-24 10:37:15.508] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:37:15.510] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:37:15.514] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:37:15.533] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.534] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.545] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.547] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.548] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.548] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.555] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.557] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.563] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.565] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.566] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.567] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.572] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.574] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.575] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.576] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.582] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.584] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.585] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.586] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.588] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.588] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.594] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.596] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.596] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.597] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.599] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.600] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.601] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:37:15.602] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:37:15.603] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:37:15.603] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:37:15.614] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:37:15.622] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.624] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.626] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.626] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:37:15.627] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:37:15.628] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:37:15.628] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:37:15.629] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:38:15.011] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.012] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.022] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.024] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.025] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.025] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.030] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.032] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.038] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.040] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.040] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.041] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.046] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.048] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.049] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.049] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.054] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.057] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.058] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.058] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.060] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.061] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.066] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.068] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.069] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.070] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.074] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.075] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.077] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:38:15.079] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:38:15.079] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:38:15.082] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:38:15.100] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.102] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.104] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.105] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:38:15.106] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:38:15.109] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:38:15.109] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:38:15.110] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:38:15.205] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:38:15.206] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:38:15.207] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:38:15.307] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:39:15.009] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.010] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.018] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.020] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.020] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.021] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.026] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.029] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.034] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.035] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.037] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.037] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.043] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.045] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.045] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.046] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.051] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.052] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.053] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.053] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.055] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.055] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.060] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.062] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.064] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.065] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.066] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.067] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.068] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:39:15.072] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:39:15.072] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:39:15.072] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:39:15.081] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.083] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.085] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.086] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:39:15.086] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:39:15.088] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:39:15.088] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:39:15.088] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:39:15.153] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:39:15.154] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:39:15.155] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:39:15.155] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:40:15.074] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:40:15.075] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:40:15.076] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:40:15.076] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:40:15.086] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.089] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.094] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.094] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.097] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:40:15.101] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:40:15.101] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:40:15.101] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:40:15.127] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.127] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.136] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.138] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.142] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.143] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.148] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.150] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.155] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.156] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.157] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.157] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.163] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.164] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.165] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.166] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.171] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.172] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.173] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.173] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.175] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.175] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.180] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.181] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.182] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.182] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.184] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.184] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:40:15.185] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:40:15.197] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:40:15.198] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:40:15.198] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:40:15.199] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:41:15.072] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:41:15.073] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:41:15.074] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:41:15.074] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:41:15.079] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.080] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.087] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.089] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.089] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.090] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.094] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.096] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.100] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.102] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.102] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.103] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.107] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.109] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.109] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.110] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.114] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.115] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.116] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.116] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.118] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.118] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.123] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.125] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.125] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.126] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.127] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.127] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.130] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:41:15.132] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:41:15.132] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:41:15.132] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:41:15.144] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.146] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.147] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.148] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:41:15.150] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:41:15.150] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:41:15.150] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:41:15.150] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:42:15.008] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.008] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.015] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.016] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.017] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.018] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <RMQ_SYS_TRANS_HALF_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.022] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.024] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.028] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.029] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.030] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.030] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.035] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.037] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.037] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.038] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.042] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.044] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.044] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.045] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <OFFSET_MOVED_EVENT> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.047] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.048] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.052] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.054] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.054] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.055] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <SELF_TEST_TOPIC> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.057] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.058] INFO error is CODE: 1 DESC: The stats <TOPIC_PUT_SIZE> <TOPIC_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.058] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:42:15.060] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:42:15.060] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:42:15.060] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:42:15.067] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.070] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.071] INFO error is CODE: 1 DESC: The stats <BROKER_PUT_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.072] INFO error is CODE: 1 DESC: The stats <BROKER_GET_NUMS> not exist
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
[2020-04-24 10:42:15.073] INFO closeChannel: close the connection to remote address[] result: true
[2020-04-24 10:42:15.074] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:42:15.074] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:42:15.074] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:42:15.133] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true
[2020-04-24 10:42:15.135] INFO closeChannel: close the connection to remote address[10.51.0.52:10909] result: true
[2020-04-24 10:42:15.135] INFO closeChannel: close the connection to remote address[10.51.0.51:10909] result: true
[2020-04-24 10:42:15.135] INFO closeChannel: close the connection to remote address[10.51.0.51:9876] result: true

Polish according to Prometheus rules

If possible use counters rather than gauges.

rocketmq_producer_put_size is missing units, and as a counter should end in _total.

rocketmq_group_get_latency is missing a unit and should be a Summary without quantiles if possible.

cluster and broker sound like target labels, which should come from Prometheus rather than the exporter.

Your port number isn't in the usual range from the wiki page.

More details see https://prometheus.io/docs/instrumenting/writing_exporters/

optimize code of metricsdto and controller

Is your feature request related to a problem? Please describe.

just optimize some code for dto and controller

Describe the solution you'd like

Describe alternatives you've considered

Additional context
Add any other context or screenshots about the feature request here.

success startup in vm, but fail start in docker.

I build this image with this Dockerfile:
`FROM java:8

COPY rocketmq-exporter-0.0.2-SNAPSHOT.jar rocketmq-exporter-0.0.2-SNAPSHOT.jar

COPY startup.sh /startup.sh

EXPOSE 5557

ENTRYPOINT ["/startup.sh"]
`

where the /startup.sh is:
#!/bin/sh echo "JAVA_OPTS is: $JAVA_OPTS" echo "MQ_OPTS is: $MQ_OPTS" exec java -jar rocketmq-exporter-0.0.2-SNAPSHOT.jar $JAVA_OPTS $MQ_OPTS

Deployment yaml

apiVersion: apps/v1 kind: Deployment metadata: labels: app: rocketmqexporter name: rocketmqexporter namespace: default spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: rocketmqexporter strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate template: metadata: labels: app: rocketmqexporter spec: containers: - name: rocketmqexporter env: - name: RESTART_ value: "1595446822" - name: JAVA_OPTS value: '-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/oom.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:./gc.log' - name: MQ_OPTS value: '--rocketmq.config.namesrvAddr="192.168.0.144:9876 --logging.level.org.springframework.context=DEBUG"' image: registry.cn-shenzhen.aliyuncs.com/zmhuangpub/rocketmq-exporter:0.0.1 imagePullPolicy: Always terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 30

startup log

`JAVA_OPTS is: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/oom.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:./gc.log
MQ_OPTS is: --rocketmq.config.namesrvAddr="192.168.0.144:9876 --logging.level.org.springframework.context=DEBUG"
[2020-09-24 04:01:50.777] ERROR Cannot set level 'DEBUG"' for 'org.springframework.context'

. ____ _ __ _ _
/\ / ' __ _ () __ __ _ \ \ \
( ( )_
_ | '_ | '| | ' / ` | \ \ \
\/ )| |)| | | | | || (| | ) ) ) )
' |
| .__|| ||| |_, | / / / /
=========|
|==============|/=////
:: Spring Boot :: (v2.1.2.RELEASE)

[2020-09-24 04:01:50.945] INFO Starting RocketMQExporterApplication v0.0.2-SNAPSHOT on rocketmqexporter-b75f65f94-jpkrj with PID 1 (/rocketmq-exporter-0.0.2-SNAPSHOT.jar started by root in /)
[2020-09-24 04:01:50.948] INFO No active profile set, falling back to default profiles: default
[2020-09-24 04:01:52.914] INFO Tomcat initialized with port(s): 5557 (http)
[2020-09-24 04:01:52.957] INFO Initializing ProtocolHandler ["http-nio-5557"]
[2020-09-24 04:01:52.985] INFO Starting service [Tomcat]
[2020-09-24 04:01:52.985] INFO Starting Servlet engine: [Apache Tomcat/9.0.14]
[2020-09-24 04:01:53.002] INFO The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib]
[2020-09-24 04:01:53.132] INFO Initializing Spring embedded WebApplicationContext
[2020-09-24 04:01:53.132] INFO Root WebApplicationContext: initialization completed in 2083 ms
[2020-09-24 04:01:53.230] INFO setNameSrvAddrByProperty nameSrvAddr="192.168.0.144:9876
[2020-09-24 04:01:53.234] INFO setWebTelemetryPath webTelemetryPath=/metrics
[2020-09-24 04:01:53.235] INFO setRocketmqVersion rocketmqVersion=420
[2020-09-24 04:01:53.683] INFO MetricsCollectTask init starting....
[2020-09-24 04:01:56.684] WARN Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metricsCollectTask': Invocation of init method failed; nested exception is org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to failed
[2020-09-24 04:01:56.698] INFO Stopping service [Tomcat]
[2020-09-24 04:01:56.713] INFO

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
[2020-09-24 04:01:56.717] ERROR Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metricsCollectTask': Invocation of init method failed; nested exception is org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to failed
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:139)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:419)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1737)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:576)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:846)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:863)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
at org.apache.rocketmq.exporter.RocketMQExporterApplication.main(RocketMQExporterApplication.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to failed
at org.apache.rocketmq.remoting.netty.NettyRemotingClient.invokeSync(NettyRemotingClient.java:392)
at org.apache.rocketmq.client.impl.MQClientAPIImpl.getBrokerClusterInfo(MQClientAPIImpl.java:1180)
at org.apache.rocketmq.tools.admin.DefaultMQAdminExtImpl.examineBrokerClusterInfo(DefaultMQAdminExtImpl.java:275)
at org.apache.rocketmq.tools.admin.DefaultMQAdminExt.examineBrokerClusterInfo(DefaultMQAdminExt.java:222)
at org.apache.rocketmq.exporter.service.client.MQAdminExtImpl.examineBrokerClusterInfo(MQAdminExtImpl.java:197)
at org.apache.rocketmq.exporter.task.MetricsCollectTask.init(MetricsCollectTask.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:363)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:307)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
`

kubernetes cluster-info

Kubernetes master is running at https://192.168.0.146:6443
KubeDNS is running at https://192.168.0.146:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://192.168.0.146:6443/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy

kernel info(uname -a)

Linux xxxxx 4.15.0-96-generic #97-Ubuntu SMP Wed Apr 1 03:25:46 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

docker info

`
Client:
Debug Mode: false

Server:
Containers: 177
Running: 167
Paused: 0
Stopped: 10
Images: 4966
Server Version: 19.03.6
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: systemd
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version:
runc version:
init version:
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-96-generic
Operating System: Ubuntu 18.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 20
Total Memory: 62.85GiB
Name: xxxx
ID: QQCS:UEBA:PERO:EFOO:GKHD:HIGG:IQ6G:W7QR:NQ5G:N7NY:EOIY:5474
Docker Root Dir: /data/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
xxxx:32000
dockerhub.office.xxxxx.com:443
127.0.0.0/8
Registry Mirrors:
https://bvp31fna.mirror.aliyuncs.com/
https://registry.docker-cn.com/
https://dockerhub.office.xxxxx.com/
Live Restore Enabled: true
`

if I run in vm, this can be startup。
`

. ____ _ __ _ _
/\ / ' __ _ () __ __ _ \ \ \
( ( )_
_ | '_ | '| | ' / ` | \ \ \
\/ )| |)| | | | | || (| | ) ) ) )
' |
| .__|| ||| |_, | / / / /
=========|
|==============|/=////
:: Spring Boot :: (v2.1.2.RELEASE)

[2020-09-24 12:22:01.692] INFO Starting RocketMQExporterApplication v0.0.2-SNAPSHOT on company-server with PID 27957 (/tmp/rocketmq-exporter-0.0.2-SNAPSHOT.jar started by root in /tmp)
[2020-09-24 12:22:01.695] INFO No active profile set, falling back to default profiles: default
[2020-09-24 12:22:02.470] INFO Tomcat initialized with port(s): 5557 (http)
[2020-09-24 12:22:02.481] INFO Initializing ProtocolHandler ["http-nio-5557"]
[2020-09-24 12:22:02.488] INFO Starting service [Tomcat]
[2020-09-24 12:22:02.488] INFO Starting Servlet engine: [Apache Tomcat/9.0.14]
[2020-09-24 12:22:02.495] INFO The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
[2020-09-24 12:22:02.539] INFO Initializing Spring embedded WebApplicationContext
[2020-09-24 12:22:02.539] INFO Root WebApplicationContext: initialization completed in 815 ms
[2020-09-24 12:22:02.580] INFO setWebTelemetryPath webTelemetryPath=/metrics
[2020-09-24 12:22:02.581] INFO setRocketmqVersion rocketmqVersion=420
[2020-09-24 12:22:02.581] INFO setNameSrvAddrByProperty nameSrvAddr=1.1.1.1:9876
[2020-09-24 12:22:02.797] INFO MetricsCollectTask init starting....
[2020-09-24 12:22:02.915] INFO cluster name= DefaultCluster, broker name = [broker-a]
broker name = broker-a, master broker address= 1.1.1.1:10911
`

Hope to get your help

rocketmq-exporter cause huge error log output with large topic situation

Describe the bug
In our QA & Online Cluster, we get problems with RocketMQ have thousands of topics and consumer groups.
so rocketm-exporter will cause Namesrv service output huge number error logs till disk is full.

ERROR log sample
"
[2021-11-18 18:28:36.433] ERROR SNDBCK_PUT_NUMS-error, topic=taskKey_saveRemovedTopic_cdp_tag_mysql_2_saas_user_match_tag_att_103, group=ucCdpTagTasCdpJobSaveRemoveMqCustomGroupV23, master broker=10.11.35.156:10911, The stats <SNDBCK_PUT_NUMS> taskKey_saveRemovedTopic_cdp_tag_mysql_2_saas_user_match_tag_att_103@ucCdpTagTasCdpJobSaveRemoveMqCustomGroupV23 not exist
[2021-11-18 18:28:36.433] ERROR GROUP_GET_NUMS-error, topic=taskKey_saveRemovedTopic_cdp_tag_mysql_2_saas_user_match_tag_att_103, group=cdpTagTasCdpJobSaveAddedMqCustomGroup3,master broker=10.11.35.156:10911, The stats <GROUP_GET_NUMS> taskKey_saveRemovedTopic_cdp_tag_mysql_2_saas_user_match_tag_att_103@cdpTagTasCdpJobSaveAddedMqCustomGroup3 not exist
[2021-11-18 18:28:36.434] ERROR GROUP_GET_SIZE-error, topic=taskKey_saveRemovedTopic_cdp_tag_mysql_2_saas_user_match_tag_att_103, group=cdpTagTasCdpJobSaveAddedMqCustomGroup3, master broker=10.11.35.156:10911, The stats <GROUP_GET_SIZE> taskKey_saveRemovedTopic_cdp_tag_mysql_2_saas_user_match_tag_att_103@cdpTagTasCdpJobSaveAddedMqCustomGroup3 not exist
[2021-11-18 18:28:36.434] ERROR SNDBCK_PUT_NUMS-error, topic=taskKey_saveRemovedTopic_cdp_tag_mysql_2_saas_user_match_tag_att_103, group=cdpTagTasCdpJobSaveAddedMqCustomGroup3, master broker=10.11.35.156:10911, The stats <SNDBCK_PUT_NUMS> taskKey_saveRemovedTopic_cdp_tag_mysql_2_saas_user_match_tag_att_103@cdpTagTasCdpJobSaveAddedMqCustomGroup3 not exist
"

when stop rocketmq-exporter, error log lo longer output

RocketMQ: 4.5.2 、4.8.0
rocketmq-exporter: 0.0.2
OS: CentOS7
JDK: 1.8.0

Documents about this error log output:
https://github.com/apache/rocketmq-exporter/blob/master/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java

rocketmq_group_get_latency_by_storetime always increase when comsumer model is BROADCASTING

Describe the bug
rocketmq_group_get_latency_by_storetime is not correct when consumer model set to BROADCASTING

To Reproduce
Steps to reproduce the behavior:

  1. create test topic
  2. use a comsumer set the MessageModel to BROADCASTING
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time
from rocketmq.client import PushConsumer, ConsumeStatus, Message, MessageModel

def callback(msg):
    print(msg.id, msg.body)
    return ConsumeStatus.CONSUME_SUCCESS

consumer = PushConsumer('test-comsumer')
consumer.set_name_server_address('localhost:9876')
consumer.set_message_model(MessageModel.BROADCASTING)
consumer.subscribe('test', callback)
consumer.set_group('test-comsumer')
consumer.start()

while True:
    time.sleep(3600)
consumer.shutdown()
  1. See exporter metrics data

Expected behavior
rocketmq_group_get_latency_by_storetime value must correct

Screenshots
image
image
image

Desktop (please complete the following information):

  • OS: CentOS 7.8
  • Browser Chrome
  • Version 84

lots of rocketmq_group_diff metrics data loss

Describe the bug
We have lots of rocketmq_group_diff metrics data loss, exporter log some exception as follows:

java.lang.NullPointerException: null
        at org.apache.rocketmq.exporter.task.MetricsCollectTask.collectConsumerOffset(MetricsCollectTask.java:320)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)
        at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
        at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

When the npe throw, the whole collect task will stop which cause lots of data loss.

Additional context
We have some pyhon sdk which can't get messageModel, the npe throw from here.
image

Missing some monitor item?

Describe the bug
A clear and concise description of what the bug is.
有部分topic的rocketmq_producer_tps这个指标没有采集,如何解决这个问题呢
image
image
image

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

How to monitor jvm?

Just like monitoring kafka, open the jmx port and obtain monitoring indicators through jvm_exporter.

DLedger mode metrics will display the old master data

Describe the bug
When restart cluster which deployed on DLedger mode, the master may change.But the broker tps metrics will always show the old one.

To Reproduce
1.restart cluster and the master broker machine change.
2.the exporter service not restart.

Expected behavior
only new metrics data show, or the old data change to 0.

Screenshots
tps dashboard
image

some exporter data:

rocketmq_broker_tps{cluster="c3cloudsrv-common-rocketmq",brokerIP="Amachine",broker="c3cloudsrv-common-rocketmq-raft0",} 33441.97
rocketmq_broker_tps{cluster="c3cloudsrv-common-rocketmq",brokerIP="Bmachine",broker="c3cloudsrv-common-rocketmq-raft1",} 13892.3
rocketmq_broker_tps{cluster="c3cloudsrv-common-rocketmq",brokerIP="",broker="c3cloudsrv-common-rocketmq-raft1",} 0.0
rocketmq_broker_tps{cluster="c3cloudsrv-common-rocketmq",brokerIP="Cmachine",broker="c3cloudsrv-common-rocketmq-raft1",} 0.0
rocketmq_broker_tps{cluster="c3cloudsrv-common-rocketmq",brokerIP="Dmachine",broker="c3cloudsrv-common-rocketmq-raft1",} 12083.87
rocketmq_broker_tps{cluster="c3cloudsrv-common-rocketmq",brokerIP="Emachine",broker="c3cloudsrv-common-rocketmq-raft0",} 12083.2
rocketmq_broker_tps{cluster="c3cloudsrv-common-rocketmq",brokerIP="Fmachine",broker="c3cloudsrv-common-rocketmq-raft0",} 12270.9

there is only two master in the cluster, but the metrics is more than 2.

  • rocketmq version 4.7.0

  • exporter version 0.0.2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.