RocketMQ Dashboard provides excellent monitoring capabilities, various graphs and statistics of client and application events, performance and system information.
Operation and maintenance page
- You can modify the address of namesrv used by this service
- You can modify whether this service uses VIPChannel (if your mq server version is less than 3.5.8, please set it not to use)
cockpit
- Check the message volume of the broker (total amount/5-minute graph)
- View the message volume of a single topic (total amount/trend graph)
cluster page
- View the distribution of the cluster
- The relationship between cluster and broker
- broker
- View broker specific information/running information
- View broker configuration information
theme page
- Show all themes, you can filter through the search box
- Filter common/retry/dead letter topics
- Add/update topics
- On which clusters clusterName is created
- BrokerName created on which brokers
- topicName topic name
- writeQueueNums write queue number
- readQueueNums read queue number
- perm //2 is writing, 4 is reading, 6 is reading and writing
- Status query message delivery status (which brokers/queues/quantity to deliver to, etc.)
- Routing Check the route of the message (now which brokers you will send the message of this topic to, corresponding to the queue information of the broker)
- CONSUMER management (which groups this topic is consumed by, and what is the consumption situation)
- topic configuration (view and change the current configuration)
- send message (send a test message to this topic)
- Reset the consumption point (divided into two situations: online and offline, but you need to check whether the reset is successful)
- Delete the topic (the topic configuration and routing information on all brokers and namesrv will be deleted)
consumer page
- Display all consumer groups, which can be filtered through the search box
- Refresh the page/refresh the page regularly every five seconds
- Sort by subscription group/quantity/TPS/latency
- Add/update consumer group
- On which clusters clusterName is created
- BrokerName created on which brokers
- groupName consumer group name
- consumeEnable //Whether it is possible to consume FALSE, it will not be able to consume
- consumeBroadcastEnable //Whether broadcast consumption is possible
- retryQueueNums //The size of the retry queue
- brokerId //Where to consume under normal circumstances
- whichBrokerWhenConsumeSlowly//If there is a problem, where to consume
- Terminal online consumption client viewing, including version subscription information and consumption mode
- The consumption details correspond to the consumption details of the consumption group, the consumption status of all topics subscribed by this consumption group, and the consumption client corresponding to each queue (including Retry messages)
- Configuration View and change the configuration of the consumer group
- Delete deletes the consumer group on the specified broker
Post management page
- Query online message producer clients through Topic and Group
- The information contains the client host version
News query page
- Query based on Topic and time interval * Due to the large amount of data, only up to 2000 items will be displayed, and more will be ignored
- Query based on Topic and Key
- Query messages based on message subject and message Id
- Message details can display the detailed information of this message, and check the consumption situation corresponding to the specific consumption group of the message (if there is an exception, you can view the specific exception information). Messages can be resent to the specified consumer group.
Access Dashboard via HTTPS
- The HTTPS function can actually be completed using the configuration function provided by SpringBoot. First, an SSL KeyStore is required to store the server certificate. You can use the test keystore provided by this project: resources/rmqcngkeystore.jks, which can be passed as follows keytool command to generate
#生成库并以rmqcngKey别名添加秘钥
keytool -genkeypair -alias rmqcngKey -keyalg RSA -validity 3650 -keystore rmqcngkeystore.jks
#查看keystore内容
keytool -list -v -keystore rmqcngkeystore.jks
#转换库格式
keytool -importkeystore -srckeystore rmqcngkeystore.jks -destkeystore rmqcngkeystore.jks -deststoretype pkcs12
- Configure resources/application.properties, enable SSL related options, and enable HTTPS after starting the dashboard.
#设置https端口
server.port=8443
### SSL setting
#server.ssl.key-store=classpath:rmqcngkeystore.jks
#server.ssl.key-store-password=rocketmq
#server.ssl.keyStoreType=PKCS12
#server.ssl.keyAlias=rmqcngkey
Login to access Dashboard
When accessing the Dashboard, you can log in to the console by user name and password, and log out after the operation is completed. Need to do the following settings:
- 1. Modify rocketmq.config.loginRequired=true in the Spring configuration file resources/application.properties to enable the login function
# 开启登录功能
rocketmq.config.loginRequired=true
# Dashboard文件目录,登录用户配置文件所在目录
rocketmq.config.dataPath=/tmp/rocketmq-console/data
- 2. Make sure that the directory defined by ${rocketmq.config.dataPath} exists, and create a login configuration file “users.properties” in this directory. If this file does not exist in this directory, the resources/users.properties file will be used by default. The users.properties file format is:
# 该文件支持热修改,即添加和修改用户时,不需要重新启动console
# 格式, 每行定义一个用户, username=password[,N] #N是可选项,可以为0 (普通用户); 1 (管理员)
#定义管理员
admin=admin,1
#定义普通用户
user1=user1
user2=user2
- 3. Start the console to enable the login function
Authority check
If the login function is enabled when the user accesses the console, the access interface will be controlled according to the login role.
- 1. Modify rocketmq.config.loginRequired=true in the Spring configuration file resources/application.properties to enable the login function
# 开启登录功能
rocketmq.config.loginRequired=true
# Dashboard文件目录,登录用户配置文件所在目录
rocketmq.config.dataPath=/tmp/rocketmq-console/data
- 2. Make sure that the directory defined by ${rocketmq.config.dataPath} exists, and create an access permission configuration file “role-permission.yml” in this directory. If this file does not exist in this directory, resources/role-permission will be used by default .yml files. This file saves all the interface addresses that can be accessed by ordinary user roles. The role-permission.yml file format is:
# 该文件支持热修改,即添加和修改用户时,不需要重新启动console
# 格式,如果增加和删除接口权限,直接在列表中增加和删除接口地址即可。
# 接口路径配置支持通配符
# * 表示匹配0或多个不是/的字符
# ** 表示匹配0或多个任意字符
# ? 表示匹配1个任意字符
rolePerms:
# 普通用户
ordinary:
- /rocketmq/nsaddr
- /ops/*
- /dashboard/**
- /topic/*.query
- /topic/sendTopicMessage.do
- /producer/*.query
- /message/*
- /messageTrace/*
- /monitor/*
....
- 3. On the front-end page display, in order to better distinguish the permissions of ordinary users and admin users, operation buttons such as deleting and updating resources are not displayed for ordinary user roles. If you want to perform resource-related operations, you need to log out and log in with the admin role.
#RocketMQ #Dashboard #Homepage #Documentation #Download #RocketMQ #Management #Terminal #News Fast Delivery