在CentOS环境下,监控Redis的运行状态与性能可通过命令行工具、第三方监控方案及可视化工具实现,覆盖从基础状态检查到高级可视化分析的需求。
redis-cli info
Redis自带的命令行工具,通过info命令可获取Redis服务器的详细状态信息,包括内存使用(used_memory、mem_fragmentation_ratio)、连接数(connected_clients)、命中率(keyspace_hits/keyspace_misses)、持久化状态(rdb_last_save_time)等。若需查看特定模块信息,可使用info memory(内存)、info clients(客户端)等子命令。
redis-cli --latency
用于检测Redis服务器的网络延迟,通过发送PING命令并计算响应时间,帮助定位网络瓶颈。执行后会显示平均延迟、最小/最大延迟等指标。
redis-cli monitor
实时显示Redis服务器接收到的所有命令请求,适用于调试场景(如查看当前执行的命令),但生产环境慎用(会消耗较多资源)。
redis-cli slowlog get
查看Redis的慢查询日志(需提前配置slowlog-log-slower-than阈值,单位微秒),记录执行时间超过阈值的命令,帮助优化慢查询。例如,设置slowlog-log-slower-than 10000(10毫秒)可捕获慢命令。
top/htop
top(默认安装)或htop(需sudo yum install htop安装)可实时查看Redis进程的CPU使用率、内存占用(RES列)及系统整体资源使用情况,快速识别资源瓶颈。
vmstat
监控系统虚拟内存、进程、CPU活动等,通过vmstat 1(每秒刷新一次)可查看Redis进程的内存交换(si/so列)、IO等待(wa列)等情况,辅助分析内存压力。
iostat
监控系统磁盘IO性能,通过iostat -x 1可查看Redis进程的磁盘读写延迟(await列)、吞吐量(tps列),适用于分析磁盘IO对Redis的影响。
redis-stat
轻量级命令行监控工具(sudo yum install redis-stat),实时显示Redis的关键指标(如QPS、内存使用、连接数),支持多实例监控。执行redis-stat即可启动,默认每2秒刷新一次。
glances
跨平台系统监控工具(sudo yum install glances),通过--plugins=redis参数可集成Redis监控,显示Redis的内存、连接、命令执行等指标,支持Web界面访问。
RedisSentinel
Redis自带的高可用监控工具,用于监控Redis主从实例的健康状态,实现故障自动转移。需提前配置sentinel.conf文件(如sentinel monitor mymaster 127.0.0.1 6379 2),启动命令为redis-sentinel /etc/redis/sentinel.conf。
Prometheus + Grafana
/etc/prometheus/prometheus.yml,添加Redis抓取任务:scrape_configs:
- job_name: 'redis'
static_configs:
- targets: ['localhost:9121']
RedisInsight
Redis官方提供的可视化工具(下载地址:https://redis.com/redis-enterprise/redis-insight/),支持实时监控(CPU、内存、网络)、键空间浏览(查看键的类型、大小)、慢查询分析(排序慢命令)及性能分析(命令耗时分布)。无需复杂配置,适合快速上手。
AnotherRedisDesktopManager
轻量级开源桌面工具(GitHub地址:https://github.com/qishibo/AnotherRedisDesktopManager),支持多实例连接、内存分析(查看键的内存占用排名)、命令行模式(执行Redis命令),界面简洁,适合开发者和运维人员使用。
以上方法可根据需求选择:基础监控用命令行工具,专业级监控用第三方工具(如redis-stat、glances),长期分析与告警用可视化方案(如Prometheus+Grafana或RedisInsight)。