Rct-analyze analyzer needs to be deployed on Redis machine when RDB analysis tool is used for RDB analysis
Whether deployed via docker or jar, the analyzer program should be deployed on all machines of the Redis cluster or Redis instance that you want to analyze. Since our architecture USES springCloud's Eureka(registration and discovery of services), all the analyzer programs have only one central node, namely rct-dashboard program.
After the deployment is completed, the RDB file of Redis can be analyzed. The deployment steps are as follows:
First, navigate into the Analyze module of RDB
如If the RDB analysis configuration information has not been added before, the page will pop up in the add page to improve the RDB information. Page specific parametersTo See More Details
After completing the RDB analysis configuration information, click the Analyze button at the bottom right and click ok. After that, the center node (RCT-dashboard) starts to distribute tasks to the rct-analyze analysis program deployed by each Redis node. The analysis program starts to Analyze the RDB files generated by the native Redis node and feedback the status and progress of analysis to the center node. After the distribution of the center node (RCT-dashboard) is successful, the analysis success dialog box will pop up and click the view Progress button in the box to check the analysis Progress of each node. If you accidentally quit the analysis progress page, you can also click the view progress button in the status information of the Analyze module in RDB to enter the progress page again.
After the RDB file analysis is successful, the analysis results are written to the database rdb_analyze_result table, and if the report is configured in the RDB analysis information, the analysis results will be sent to the configured recipients after the analysis is completed. The analysis results are also presented to the user in a visual form, as detailed in the following sectionsChart module
At this point, a simple RDB analysis is complete.
When timing analysis is performed on the RDB file, the correct cron expression must be filled in; if not, or if corn is wrong, the timing task will fail.
After clicking on the analysis, the Loading process is that the server is distributing the analysis task to the Redis node. If the RDB persistence is not opened, Then the first step is to generate the RDB file. The long process time to generate the RDB file leads to a long waiting time in loading. (the Loading timeout is 40 minutes).
First, you need to in the application configuration file. The properties of a modified configuration for rct.rdb.generate.enable=true
If the cluster does not start RDB persistence, after clicking on the analysis, the program will select the slave node to automatically generate the RDB file. The directory to generate the file follows the path configured in redis. RDB is generated and analyzed.
RDB file generation is serial, and only execute in the slave, this ensures that only one instance of the whole cluster is doing persistence, we have reduced the performance impact to the minimum, after testing, online business is not aware.