如何监控Ubuntu Redis性能
导读:如何监控Ubuntu Redis性能 监控Ubuntu环境下Redis的性能需结合自带工具(快速定位基础指标)、第三方工具(可视化与长期追踪)及慢查询分析(定位性能瓶颈),以下是具体方法: 一、使用Redis自带工具快速监控 1. redi...
如何监控Ubuntu Redis性能
监控Ubuntu环境下Redis的性能需结合自带工具(快速定位基础指标)、第三方工具(可视化与长期追踪)及慢查询分析(定位性能瓶颈),以下是具体方法:
一、使用Redis自带工具快速监控
1. redis-cli info
命令:获取全面服务器指标
info
是Redis最核心的监控命令,可查看内存、CPU、连接、持久化等所有关键指标。常用子命令包括:
info memory
:查看内存使用情况(如used_memory
已用内存、maxmemory
最大内存、mem_fragmentation_ratio
内存碎片率);info clients
:查看客户端连接数(connected_clients
当前连接数、client_longest_output_list
最大输出缓冲区);info stats
:查看整体统计信息(instantaneous_ops_per_sec
每秒操作数、total_commands_processed
总命令数);info persistence
:查看持久化状态(rdb_last_save_time
上次RDB保存时间、aof_last_bgrewrite_status
AOF重写状态)。
执行redis-cli info
即可获取所有指标,适合快速排查基础问题。
2. redis-cli monitor
命令:实时查看命令执行
monitor
可实时显示所有客户端的命令请求(包括命令内容、执行时间、客户端IP),适合调试实时性能问题或跟踪慢命令。但需注意,该命令会占用较多资源,建议仅在排查问题时短期使用。
3. top
/htop
命令:监控系统资源占用
通过top
(基础版)或htop
(增强版,需sudo apt install htop
安装)查看Redis进程的CPU使用率、内存占用及线程数。可通过top -p $(pgrep redis-server)
直接过滤Redis进程,快速识别资源瓶颈。
4. redis-cli slowlog
命令:分析慢查询
慢查询是Redis性能下降的常见原因,通过以下命令配置和查看慢查询日志:
- 设置慢查询阈值(单位:微秒,如10毫秒=10000微秒):
config set slowlog-log-slower-than 10000
; - 设置慢查询日志长度(保留最近100条):
config set slowlog-max-len 100
; - 查看慢查询日志:
redis-cli slowlog get
(输出包括命令执行时间、命令内容、客户端信息)。
定期分析慢查询日志可定位耗时操作(如大键查询、复杂脚本)。
二、使用第三方工具实现长期可视化监控
1. Redis-stat:轻量级命令行/WEB监控
Redis-stat是基于info
命令的轻量级工具,支持命令行实时显示和WEB界面,适合快速部署。
- 安装:
gem install redis-stat
(需提前安装Ruby); - 运行命令行模式:
redis-stat localhost:6379 1 10
(每1秒刷新一次,共显示10次); - 运行WEB模式:
redis-stat --server=8080 5
(启动WEB服务,端口8080,每5秒刷新一次),通过浏览器访问http://localhost:8080
查看实时图表。
2. Prometheus + Grafana:专业监控与可视化
Prometheus(时间序列数据库)+ Grafana(可视化工具)是企业级监控方案,适合大规模Redis集群。
- 步骤1:安装Redis Exporter(导出Redis指标为Prometheus格式):
wget https://github.com/oliver006/redis_exporter/releases/download/v1.18.0/redis_exporter-v1.18.0.linux-amd64.tar.gz tar xvf redis_exporter-v1.18.0.linux-amd64.tar.gz cd redis_exporter-v1.18.0.linux-amd64 ./redis_exporter -redis.addr=redis://localhost:6379
- 步骤2:配置Prometheus(
/etc/prometheus/prometheus.yml
):scrape_configs: - job_name: 'redis' static_configs: - targets: ['localhost:9121'] # Redis Exporter默认端口
- 步骤3:启动Prometheus并导入Grafana面板:
- 启动Prometheus:
./prometheus --config.file=prometheus.yml
; - 登录Grafana(
http://localhost:3000
),添加Prometheus数据源,导入Redis监控面板(如官方面板ID:7638)。
该方案可实现历史数据存储、告警配置(如内存超过80%触发告警)及多维度可视化。
- 启动Prometheus:
3. RedisInsight:官方图形化管理工具
RedisInsight是Redis官方推出的免费图形化工具,支持性能监控、内存分析、慢查询管理等功能。
- 安装:从官网下载对应平台安装包(如Ubuntu
.deb
包),双击安装; - 使用:启动RedisInsight,添加Redis连接(
localhost:6379
),即可查看内存使用趋势、命令性能分析、慢查询列表等可视化界面,适合新手快速上手。
三、慢查询分析与优化
慢查询是Redis性能瓶颈的主要来源,需通过以下步骤定位和解决:
- 开启慢查询日志:通过
config set
命令设置slowlog-log-slower-than
(阈值)和slowlog-max-len
(日志长度); - 查看慢查询日志:使用
redis-cli slowlog get
获取慢查询记录; - 优化慢查询:针对大键(如超过10KB的String、包含大量元素的Hash/List),可使用
SCAN
命令替代KEYS
(避免阻塞)、拆分大键(如将大Hash拆分为多个小Hash)、避免复杂脚本(如Lua脚本过长)。
通过以上方法,可全面覆盖Ubuntu环境下Redis的性能监控需求,从基础指标到深层瓶颈均能快速定位和解决。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何监控Ubuntu Redis性能
本文地址: https://pptw.com/jishu/716524.html