├── LICENSE ├── README.md └── redis-tool /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2022, hl 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # redis-tool 2 | Redis Cluster Daily Maintenance Tool/Redis集群日常运维工具 3 | 4 | ## 工具简介 5 | 6 | **redis-tool**基于原生的redis-cli客户端工具来进行Redis集群的监控、配置、问题分析等运维管理,能够极大降低Redis cluster集群的运维成本。同时作为脚本化工具,下载即可用,即使对于Redis初学者,也能够快速掌握集群的运行状况,完成集群配置管理、性能问题排查,具备Redis集群的基本运维能力。 7 | 8 | 工具主要面向日常运维管理中的常见工作,提升运维效率,简化操作复杂度: 9 | 10 | - **集群监控**:能够获取集群节点的键值数、内存使用量、CPU使用率、客户端连接数、请求响应时延等信息,以表格形式输出,并给出异常告警提示 11 | - **配置管理**:可以按节点属性来统一查询或修改运行参数,并且支持对节点运行参数进行差异对比分析 12 | - **问题分析**:具备慢命令日志查询、热点key分析、TOP命令跟踪、KEY前缀统计等问题分析能力 13 | 14 | ## 安装部署 15 | 16 | redis-tool工具使用shell脚本实现,下载到具有redis-cli工具的主机上即可使用(通常可部署到redis服务主机上)。 17 | 18 | ```bash 19 | # 1. 从github下载redis-tool工具 20 | # 方法一:使用git下载 21 | $ git clone https://github.com/iwhalecloud-platform/redis-tool.git 22 | # 进入下载目录 23 | $ cd redis-tool 24 | # 方法二:使用wget下载 25 | $ wget https://github.com/iwhalecloud-platform/redis-tool/archive/refs/heads/main.zip 26 | # 解压工具包&修改目录名 27 | $ unzip main.zip && mv redis-tool-main redis-tool 28 | # 进入下载目录 29 | $ cd redis-tool 30 | 31 | # 2. 设置REDIS_HOME环境变量为redis-cli工具所在目录(如果PATH环境变量中包含该目录,则该步可省略) 32 | $ echo "export REDIS_HOME=/path/to/redis-cli/" >> ~/.bashrc 33 | $ source ~/.bashrc 34 | ``` 35 | 36 | ## 使用帮助 37 | 38 | 直接运行**redis-tool**可查看到使用帮助: 39 | 40 | ```bash 41 | $ ./redis-tool 42 | Usage: redis-tool [OPTIONS] [command] 43 | OPTIONS: 44 | -h : Redis集群中某个节点IP (默认值: 127.0.0.1). 45 | -p : Redis集群中某个节点端口 (默认值: 6379). 46 | -i : Redis集群节点信息文件(适配codis等基于PROXY构建的集群模式). 47 | 文件格式(每行一个分片): [SlaveAddr] [SlaveAddr] 48 | -a : Redis访问密码,也可使用'REDISCLI_AUTH'环境变量来传入. 49 | -c : 1. TOP10命令统计滚动展示次数(默认无限次, 'moni'使用). 50 | 2. 从Redis节点中获取的慢命令记录数(默认值: 100, 'slowlog'使用). 51 | 3. 从Redis节点中随机获取的KEY名称数量(默认值: 100000, 'keys'使用). 52 | -d : TOP10命令统计滚动展示等待间隔(单位: 秒, 默认值: 3, 'moni'使用). 53 | -t