2023-03-04 06:10:10
查看 Redis 运行状态可通过以下方法实现,涵盖命令行工具、监控系统、进程检查及日志分析等维度:
1. 使用 Redis 原生命令通过 Redis 客户端(如 redis-cli)直接执行命令获取实时状态信息:
INFO 命令返回服务器统计信息的完整列表,包括:
基础信息:Redis 版本(redis_version)、运行时间(uptime_in_days)、当前连接数(connected_clients)。
内存使用:已用内存(used_memory)、内存碎片率(mem_fragmentation_ratio)。
持久化:RDB 持久化状态(rdb_last_save_time)、AOF 开关状态(aof_enabled)。
复制状态(若启用主从):主从延迟(master_repl_offset)、从节点数量(connected_slaves)。
命令统计:总命令数(total_commands_processed)、每秒命令数(instantaneous_ops_per_sec)。
示例命令:redis-cli INFO # 获取全部信息redis-cli INFO memory # 仅查看内存相关指标
SENTINEL 命令(针对 Sentinel 模式)若 Redis 配置了高可用 Sentinel,可通过以下命令检查监控状态:
redis-cli -p 26379 SENTINEL masters # 查看所有被监控的主节点redis-cli -p 26379 SENTINEL slaves mymaster # 查看特定主节点的从节点状态通过第三方工具实现可视化监控与告警:
RedisInsight
功能:官方提供的 GUI 工具,支持实时监控、性能分析、慢查询日志查看。
使用:下载安装后连接 Redis 实例,在 Dashboard 页面查看关键指标(如内存、QPS、命中率)。
Prometheus + Grafana
步骤:
部署 Redis Exporter 暴露指标(如 redis_memory_used_bytes)。
配置 Prometheus 抓取 Exporter 数据。
在 Grafana 中导入 Redis 官方仪表板模板(ID:763)。
优势:支持历史数据存储、自定义告警规则。
其他工具
Datadog/New Relic:商业 SaaS 工具,提供开箱即用的 Redis 监控模板。
ELK Stack:通过日志分析(如 redis.log)结合 Kibana 可视化。
在 Linux 系统中通过进程状态快速判断 Redis 是否运行:
CPU 使用率:持续过高可能表示存在阻塞命令(如 KEYS *)。
内存占用:接近系统物理内存时可能触发 OOM Killer。
Redis 默认将错误日志写入配置文件指定的路径(如 /var/log/redis/redis.log):
OOM 错误:Can't save in background: fork: Cannot allocate memory。
主从同步失败:MASTER <-> SLAVE synchronization failed。
连接拒绝:Connection refused by server(可能因配置绑定地址错误)。
Redis Cluster:使用 CLUSTER NODES 命令查看节点健康状态:
redis-cli CLUSTER NODES | grep -E "master|slave" | awk '{print $1,$2,$3,$8,$9}'关键字段:connected(节点连接状态)、fail(故障标记)。
Twemproxy/Codis:若使用代理层,需同时检查代理日志与后端 Redis 实例状态。
通过上述方法,可全面掌握 Redis 的运行状态,从实时指标到历史趋势,从单机到集群,确保服务高可用与性能优化。