GithubHelp home page GithubHelp logo

apache / rocketmq-dashboard Goto Github PK

View Code? Open in Web Editor NEW
973.0 49.0 489.0 6.6 MB

The state-of-the-art Dashboard of Apache RoccketMQ provides excellent monitoring capability. Various graphs and statistics of events, performance and system information of clients and application is evidently made available to the user.

Home Page: https://rocketmq.apache.org/

License: Apache License 2.0

Dockerfile 0.10% Java 60.31% HTML 18.57% JavaScript 14.41% CSS 6.61%

rocketmq-dashboard's Introduction

Apache RocketMQ Dashboard

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

Quick Start

Run with docker

docker pull apacherocketmq/rocketmq-dashboard:latest

Run it (use your own rocketmq.namesrv.addr and port)

docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest

Run with source code

Prerequisite

  1. 64bit OS, Linux/Unix/Mac is recommended;
  2. 64bit JDK 1.8+;
  3. Maven 3.2.x;

Maven spring-boot run

mvn spring-boot:run

or

Maven build and run

mvn clean package -Dmaven.test.skip=true
java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar

Tips

  • If you download the package slowly, you can change maven's mirror(maven's settings.xml)

    <mirrors>
        <mirror>
              <id>alimaven</id>
              <name>aliyun maven</name>
              <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
              <mirrorOf>central</mirrorOf>        
        </mirror>
    </mirrors>
    
  • Change the rocketmq.config.namesrvAddr in resource/application.properties.(or you can change it in ops page)

UserGuide

English

中文

Contributing

We are always very happy to have contributions, whether for trivial cleanups or big new features. Please see the RocketMQ main website to read the details.

License

Apache License, Version 2.0 Copyright (C) Apache Software Foundation

rocketmq-dashboard's People

Contributors

abhijeetmishr avatar caiwenlong1989 avatar charliex2 avatar cserwen avatar demogorgon314 avatar elegance avatar fantow avatar hellojungle avatar iapplejohn avatar icersummer avatar ifplusor avatar imaffe avatar javens0601 avatar lgtming avatar maixiaohai avatar oliverwqcwrw avatar raymondcode avatar shannonding avatar styletang avatar vongosling avatar walking98 avatar wwm0104 avatar xdongliang avatar xxd763795151 avatar yannizhou05 avatar yuz10 avatar zhangjidi2016 avatar zhiliatom avatar zhouxinyu avatar zongtanghu 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  avatar  avatar  avatar

rocketmq-dashboard's Issues

Package Failed

Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.11.3:yarn (yarn build) on project rocketmq-dashboard: Failed to run task: 'yarn build' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]

Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.11.3:yarn (yarn build) on project rocketmq-dashboard: Failed to run task

How to solve it?

add Html router for front-end

FEATURE REQUEST

  1. Please describe the feature you are requesting.
    add Html router for front-end

  2. Provide any additional detail on your proposed use case for this feature.
    add Html router for front-end

  3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
    must-have

  4. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the subtask:
    None

Failed to query message by Topic

I ran the rocketMQ-example quickstart and sent some messages to the broker of http://rocketmq.apacher.cn/.
After I sent the messages, I was able to check my messages by message ID,but not by my topic.
And when I check messages by topic, it returns an error "Can not find Message Queue for this Topic".

My topic names "2101210386-test-Topic",
and one message ID is "7F0000013E8C1F89AB83371FDA2B0005" .

按照MsgID可以查询到消息,但是按Topic查询会报错Can not find Message Queue for this Topic
image
image

Optimizing the ops page

When updating the Namesrv address, the width of the input element is fixed and the page display is not user-friendly.

image

Consider provide switch to turn off web animation

FEATURE REQUEST

In some restrict environment, Web browser run in limited network bandwidth or only basic Display Adapter. The animation of this dashboard will cause very lag response and even cause remote desktop stuck.

Maybe consider provide a switch of build option to turn off all animation ?

Such as VMWare ESXi. That web console can turn off all animation.

image

Manage DefaultMQAdminExt objects using an object pool.

Every time the mqAdminExt.xxx() method is called in the xxxServiceImpl, the aroundMQAdminMethod section of MQAdminAspect is executed to create the defaultMQAdminExt object and then destroy it. This causes frequent object creation and collection overhead.

Object pools can be used for optimization, and object pools can be used to easily manage objects (retrieve, return, check for activity, check for availability, etc.), thereby reducing the overhead caused by frequent object creation to a certain extent

why this happened?

[2021-08-29 18:29:36.297] ERROR Application run failed
java.lang.NoSuchMethodError: org.yaml.snakeyaml.nodes.ScalarNode.getScalarStyle()Lorg/yaml/snakeyaml/DumperOptions$ScalarStyle;
at org.springframework.boot.env.OriginTrackedYamlLoader$KeyScalarNode.(OriginTrackedYamlLoader.java:124)
at org.springframework.boot.env.OriginTrackedYamlLoader$KeyScalarNode.get(OriginTrackedYamlLoader.java:135)
at org.springframework.boot.env.OriginTrackedYamlLoader$KeyScalarNode.get(OriginTrackedYamlLoader.java:130)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at org.springframework.boot.env.OriginTrackedYamlLoader$OriginTrackingConstructor.replaceMappingNodeKeys(OriginTrackedYamlLoader.java:98)
at org.springframework.boot.env.OriginTrackedYamlLoader$OriginTrackingConstructor.constructObject(OriginTrackedYamlLoader.java:92)
at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:161)
at org.yaml.snakeyaml.constructor.BaseConstructor.getData(BaseConstructor.java:127)
at org.yaml.snakeyaml.Yaml$1.next(Yaml.java:547)

Typo in About section of repository

There is a typo in the About section of the repository.

"The state-of-the-art Dashboard of Apache RoccketMQ provides excellent monitoring capability. Various graphs and statistics of events, performance and system information of clients and application is evidently made available to the user."

Typo in: RoccketMQ
Correct: RocketMQ

Failed to query message by Id

Hi, guys,
Recently, I am using rokckmq. Amazing.
But I found some issues.
My env:

  1. The version of the RocketMq is 4.9.2.
  2. Rocketmq-dashboard is 1.0.1-SNAPSHOT.

The first issue is that when query a message by MessageId on dashboard, the problem found in console is " ERROR Occur service exception: Failed to query message by Id: xxxx";
run with docker and run with source , both found this same problem.

The second issue is that "
WARN Exception caught: mqAdminExt get broker stats data TOPIC_PUT_NUMS failed
WARN Response [CODE: 1 DESC: The stats <TOPIC_PUT_NUMS> <DefaultCluster_REPLY_TOPIC> not exist" in DashbordCollectionTask class.

./mqbroker -m
2022-01-06 13:46:38 INFO main - namesrvAddr=
2022-01-06 13:46:38 INFO main - brokerIP1=10.244.0.0
2022-01-06 13:46:38 INFO main - brokerName=k8s-master01
2022-01-06 13:46:38 INFO main - brokerClusterName=DefaultCluster
2022-01-06 13:46:38 INFO main - brokerId=0
2022-01-06 13:46:38 INFO main - autoCreateTopicEnable=true
2022-01-06 13:46:38 INFO main - autoCreateSubscriptionGroup=true
2022-01-06 13:46:38 INFO main - msgTraceTopicName=RMQ_SYS_TRACE_TOPIC
2022-01-06 13:46:38 INFO main - traceTopicEnable=false
2022-01-06 13:46:38 INFO main - rejectTransactionMessage=false
2022-01-06 13:46:38 INFO main - fetchNamesrvAddrByAddressServer=false
2022-01-06 13:46:38 INFO main - transactionTimeOut=6000
2022-01-06 13:46:38 INFO main - transactionCheckMax=15
2022-01-06 13:46:38 INFO main - transactionCheckInterval=60000
2022-01-06 13:46:38 INFO main - aclEnable=false
2022-01-06 13:46:38 INFO main - storePathRootDir=/home/rocketmq/store
2022-01-06 13:46:38 INFO main - storePathCommitLog=/home/rocketmq/store/commitlog
2022-01-06 13:46:38 INFO main - flushIntervalCommitLog=500
2022-01-06 13:46:38 INFO main - commitIntervalCommitLog=200
2022-01-06 13:46:38 INFO main - flushCommitLogTimed=true
2022-01-06 13:46:38 INFO main - deleteWhen=04
2022-01-06 13:46:38 INFO main - fileReservedTime=72
2022-01-06 13:46:38 INFO main - maxTransferBytesOnMessageInMemory=262144
2022-01-06 13:46:38 INFO main - maxTransferCountOnMessageInMemory=32
2022-01-06 13:46:38 INFO main - maxTransferBytesOnMessageInDisk=65536
2022-01-06 13:46:38 INFO main - maxTransferCountOnMessageInDisk=8
2022-01-06 13:46:38 INFO main - accessMessageInMemoryMaxRatio=40
2022-01-06 13:46:38 INFO main - messageIndexEnable=true
2022-01-06 13:46:38 INFO main - messageIndexSafe=false
2022-01-06 13:46:38 INFO main - haMasterAddress=
2022-01-06 13:46:38 INFO main - brokerRole=ASYNC_MASTER
2022-01-06 13:46:38 INFO main - flushDiskType=ASYNC_FLUSH
2022-01-06 13:46:38 INFO main - cleanFileForciblyEnable=true
2022-01-06 13:46:38 INFO main - transientStorePoolEnable=false

thank you.

BUG Dashboard UI support multi cluster but not config

The config file claim RocketMQ-Dashboard support multi-cluster config, But not in code:

private volatile String namesrvAddr = System.getProperty(MixAll.NAMESRV_ADDR_PROPERTY, System.getenv(MixAll.NAMESRV_ADDR_ENV));

SpringBoot Config Bean using String not List/Array, Multi-Cluster config lost when Spring load config.
That cause only one cluster called DefaultCluster in the Dashboard webpage - cluster tab

manifest for docker.io/apacherocketmq/rocketmq-console:latest not found

docker pull apacherocketmq/rocketmq-console
Using default tag: latest
Trying to pull repository docker.io/apacherocketmq/rocketmq-console ...
manifest for docker.io/apacherocketmq/rocketmq-console:latest not found

daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

Which mirror provides acessible image

Choose and setup front end framework

FEATURE REQUEST

Please describe the feature you are requesting.

Choose a new front-end framework to maintain the web static resource.

The current front-end and back-end mixed architecture are hard to maintain. We can find more information here. Front End / Back End Separate Solution

Provide any additional detail on your proposed use case for this feature.

We suggest choosing React as our front-end framework, we can also add Redux and Redux-related middleware Redux-Saga/Redux-thunk, etc.

We can introduce UI framework, something like ant-design dva umi (Free free to comment if you know better ones.)

Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

blocker. (Architecture upgrade strong dependence on it, we will migrate old front end page to this new framework)

If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the subtask:

This is related to the front end/back end separate solution, but it can be done in parallel.

ERROR Unexpected error occurred in scheduled task

The issue tracker is ONLY used for bug report and feature request.

Any question or RocketMQ proposal please use our mailing lists.

BUG REPORT
[2021-11-08 21:25:51.684] ERROR Unexpected error occurred in scheduled task
java.lang.RuntimeException: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to 172.16.1.207:10909 failed
at com.google.common.base.Throwables.propagate(Throwables.java:241)
at org.apache.rocketmq.dashboard.task.DashboardCollectTask.collectTopic(DashboardCollectTask.java:161)
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$$$capture(FutureTask.java:266)
at java.util.concurrent.FutureTask.run(FutureTask.java)
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)

Use rocketmq-dashboard instead of rocketmq-console

FEATURE REQUEST

  1. Please describe the feature you are requesting.

Use rocketmq-dashboard instead of rocketmq-console

  1. Provide any additional detail on your proposed use case for this feature.

Use rocketmq-dashboard instead of rocketmq-console

  1. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

should-have

  1. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

None

Normal User login after to tips:no permission

runtime: docker

run shell:
rocketmqdashboard:
image: apacherocketmq/rocketmq-dashboard:1.0.0
container_name: rmq-dashboard
deploy:
resources:
limits:
memory: 512M
restart: always
links:
- rmqnameserver
environment:
- JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnameserver:9876
- "rocketmq.config.loginRequired=true"
- "rocketmq.config.dataPath=/tmp/rocketmq-console/data"
volumes:
- ./env/rmq.properties:/tmp/rocketmq-console/data/users.properties
- ./env/role-permission.yml:/tmp/rocketmq-console/data/role-permission.yml
ports:
- "9875:9875"

BUG REPORT
users.properties file add Normal User
web login this Normal User,tips no permission

image

Added permission control for the login user role in rocketmq-dashboard.

FEATURE REQUEST

  1. Please describe the feature you are requesting.

    Currently, there are two types of users on the console, admin and common users. The admin user has the permission to access all interfaces, and the common user has the permission to view resources but cannot operate related resources.

  2. Provide any additional detail on your proposed use case for this feature.

  • When the login user calls all interfaces, the permission of each interface is verified by AOP, by checking whether the role to which the user belongs has the access permission of the interface. All interface urls that a common user role has access permissions are saved in a file. The file is hot updated to facilitate adding or deleting permissions.
  • In the interface, in order to distinguish admin from ordinary users more easily, the buttons for creating, updating and deleting operations are not displayed for ordinary users.
  1. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

  2. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

Make dashboard be enabled to support multiple namesrvs

FEATURE REQUEST

  1. Please describe the feature you are requesting.
  • Users can select namesrv from list, just like this:
    image
  1. Provide any additional detail on your proposed use case for this feature.
  • Usually, we may deploy many clusters, but we cannot remember so many and complex namesrvs. If we can choose, then it will be very easy to switch between different clusters.
  1. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
  • nice-to-have
  1. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

Is it possible to upgrade jQuery to 3.5.0 or higher

FEATURE REQUEST

  1. Please describe the feature you are requesting.
    是否能考虑将jQuery升级到3.5或者更高?

  2. Provide any additional detail on your proposed use case for this feature.
    很多公司的安全扫描会对jQuery的版本1.x版本的漏洞报警,尤其是 CVE-2020-11022,CVE-2020-11023

  3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

  4. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

Give a tip when no message found with topic + time query

When using topic+ time to query messages, if there is no query message, the page should give a prompt to be more friendly. Otherwise, it is difficult for the user to determine whether the query did not find the message or if the service is abnormal

Added DLQ message management

Normal and dead-letter messages can now be queried through the message query function, but the two are inconsistent in some functional operations and need to be distinguished. Second, dead-letter messages are generated after a consumer consumption failure, and each consumerGroup has a dead-letter queue, using the consumerGroup to query dead-letter messages makes more sense.

Therefore, dead letter message management is added separately.

1、Support consumerIGroup+ time range query and consumerGroup+msgId for precise query, resend the dead letter message, so that consumers can re-consume, if the user cannot handle the dead letter message, can export it in order to avoid the expiration date.

2、Send and export dead-letter messages in batches.

can not run in Windows

when i run mvn clean package -Dmaven.test.skip=true
my os alert this software can not run on your platform
it seems that the version of yarn is incorretly!

Windows10
maven3.2.X
jdk 8

Are you using RocketMQ Dashboard?

Are you using RocketMQ Dashboard?

The state-of-the-art Dashboard of Apache RoccketMQ provides excellent monitoring capability. Various graphs and statistics of events, performance and system information of clients and application is evidently made available to the user. If you are using RocketMQ Dashboard, first we would like to Thank You. Here, we sincerely invite you to take a minute to feedback on your usage scenario.

The purpose of this issue

We are always interested in finding out who is using Dashboard, what attracted you to use it, how we can listen to your needs, and if you are interested, help promote your organization.

What we would like 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
  • expectations(optional)

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

* Organization: XX Company
* Location: Seoul, South Korea
* Contact: [email protected]
* Version: v1.0.0
* Status: production
* Expectations(optional): Integrated with RocketMQ Operator, support diagnosis. 

Thanks again for your participation!
Apache RocketMQ Community

maven打包报错

[INFO] Installed Yarn locally.
[INFO]
[INFO] --- frontend-maven-plugin:1.11.3:yarn (yarn install) @ rocketmq-dashboard ---
[INFO] Running 'yarn install' in F:\github-demos\rocketmq-dashboard\frontend
[INFO] 拒绝访问。
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.843 s
[INFO] Finished at: 2021-11-20T22:38:17+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.11.3:yarn (yarn install) on project rocketmq-dashboard: Failed to run task: 'yarn install' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [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

Update README (use new docker image rocketmq-dashboard 1.0.0)

FEATURE REQUEST

  1. Please describe the feature you are requesting.
    Update README (use new docker image rocketmq-dashboard 1.0.0)

  2. Provide any additional detail on your proposed use case for this feature.
    Update README (use new docker image rocketmq-dashboard 1.0.0)

  3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
    should-have

  4. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

None

Error in different web brower

The issue tracker is ONLY used for bug report and feature request.

Any question or RocketMQ proposal please use our mailing lists.

BUG REPORT

  1. Please describe the issue you observed:
  • What did you do (The steps to reproduce)?

  • What did you expect to see?

  • What did you see instead?

  1. Please tell us about your environment:

  2. Other information (e.g. detailed explanation, logs, related issues, suggestions how to fix, etc):

FEATURE REQUEST

  1. Please describe the feature you are requesting.

  2. Provide any additional detail on your proposed use case for this feature.

  3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

  4. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

Does the dashboard need to provide a visual way to configure acl?

FEATURE REQUEST
Hello,
In the year before, I developed a feature that can support config acl int the console for my team, such as following:
image
image

Just now,I migrate these code to the dashboard in my local.

I would like to ask this feature is helpful to the community? If it is helpful , can I commit a pr, otherwise I need not going to do that.

使用控制台创建主题的时候,指定了cluster下某一个broker集群,topic也会被加到其它的broker集群下

The issue tracker is ONLY used for bug report and feature request.

Any question or RocketMQ proposal please use our mailing lists.

BUG REPORT

  1. Please describe the issue you observed:
  • What did you do (The steps to reproduce)?

image

  • What did you expect to see?

topic加入到cluster(RaftCluster)下指定broker集群(RaftNode01)中

  • What did you see instead?
    topic加入到cluster(RaftCluster)下所有broker集群(RaftNode01与RaftNode01)中
  1. Please tell us about your environment:

使用master分支

  1. Other information (e.g. detailed explanation, logs, related issues, suggestions how to fix, etc):

image

FEATURE REQUEST

  1. Please describe the feature you are requesting.

  2. Provide any additional detail on your proposed use case for this feature.

  3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

  4. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

The @MultiMQAdminCmdMethod annotation on the method is redundant

image
Adding this annotation to the scheduled task method, whether enableDashBoardCollect is true or false, will execute the MQAdminAspect aspect first, causing the mqAdminExt instance to be repeatedly created and destroyed.

Even if enableDashBoardCollect=true, this annotation should be removed because any method that calls mqAdmin in the method also executes the aspect method to create the mqAdmin object.

Front End / Back End separate solution

FEATURE REQUEST

Please describe the feature you are requesting.

Now the code of RocketMQ Dashboard mixed the front-end and back-end code together, the front-end architecture is too old, it is hard to maintain, for example, front end package is difficult to manage, the fancy features of the front-end framework cannot be used, can not add front end unit test etc...

We hope to separate the front-end and back-end modules. The front-end choose React, uses npm to manage package, and the back-end continues to use Spring-boot and maven.

This may introduce the deployment problem of front-end static resources. At present, we propose to use maven plugin to handle it. During the spring-boot packaging process, maven plugin should compile and package the front-end code and put it into spring-boot.jar. When deploying, only the spring-boot server needs to be deployed (It will contains the front end resource).

Provide any additional detail on your proposed use case for this feature.

We propose the rocketmq-dashboard package should like this.

rocketmq-dashboard

|-------src ( backend: Spring-boot)

|-------frontend (React)

When we execute package cmd, maven plugin should auto compile and release the front end resource, and build them into rocketmq-dashboard.jar

mvn clean package -Dmaven.test.skip=true

then we can run it just like a ordinary spring boot server.

java -jar target/rocketmq-dashboard.jar

Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

blocker. (Architecture upgrade with separation of front and back ends strong dependence on it)

If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

This is related to the front-end architecture selection, but it can be done in parallel.

Message track query enhancement

Currently, system topic (RMQ_SYS_TRACE_TOPIC) or message track defined in configuration files are used by default for message track query on the console. But now, users can specify specific topic to save message track information when sending and receiving messages on the client. If so, The console cannot query this message track information.

image

Can we select the previously specified message track topic before the user queries the message track information, like this? @StyleTang @vongosling

image

Rocketmq-Dashboard License

FEATURE REQUEST

  1. Please describe the feature you are requesting.
    update Rocketmq-Dashboard License.
  2. Provide any additional detail on your proposed use case for this feature.
    update Rocketmq-Dashboard License.
  3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
    blocker
  4. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
    None

Add filter in consumer list

Several system subgroups are created when the broker is started, but it is not used in general. In order to better display the consumer list in the dashboard, we can filter consumers as a topic between system and normal.

image

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.