Redis
Redis故障诊断
慢日志查询
安装、启动与连接
常用命令
常用命令2
主从
高可用(SENTINEL)
持久化(RDB、AOF)
集群(CLUSTER)
集群扩容与收缩
管理Redis
备份与恢复
内存使用情况
客户端
数据迁移
Redis配置
Python使用redis
Redis监控指标
本文档使用MrDoc发布
返回首页
-
+
Redis监控指标
2021年6月30日 10:35
admin
#常用监控指标 https://www.cnblogs.com/fb010001/p/12965587.html #存活监控 ./redis-cli -p 6379 ping | grep -c PONG #如果指定时间返回PONG表示存活,否则redis不能响应请求,可能阻塞或死亡。当返回值不为1时,redis挂了,告警 #查看SERVER redis> info server ![](/media//202106/2021-06-30104059407461.png) ####uptime_in_days 自 Redis 服务器启动以来,经过的天数 ---- #查看CPU redis> info cpu --- # CPU used_cpu_sys:119834.01 used_cpu_user:94217.05 used_cpu_sys_children:16455.50 used_cpu_user_children:154024.17 ####redis进程单cpu的消耗率可以通过如下公式计算: ((used_cpu_sys_now-used_cpu_sys_before)/(now-before))*100 --- #查看内存 redis> info memory --- # Memory used_memory:1053769600 used_memory_human:1004.95M #使用内存 used_memory_rss:1168855040 used_memory_rss_human:1.09G #使用物理内存 used_memory_peak:1056952112 used_memory_peak_human:1007.99M #内存使用的峰值 total_system_memory:16725565440 total_system_memory_human:15.58G #系统内存 used_memory_lua:59392 used_memory_lua_human:58.00K maxmemory:0 maxmemory_human:0B #Redis实例的最大内存配置 maxmemory_policy:noeviction mem_fragmentation_ratio:1.11 #used_memory_rss/used_memory的值。一般情况下,used_memory_rss略高于used_memory,当内存碎片较多时,则mem_fragmentation_ratio会较大,可以反映内存碎片是否很多 mem_allocator:jemalloc-4.0.3 ##注意:mem_fragmentation_ratio 在理想情况下, used_memory_rss 的值应该只比 used_memory 稍微高一点儿。 当 rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。 当 used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间(swap)了,在这种情况下,操作可能会产生明显的延迟,需要重点关注。即:mem_fragmentation_ratio小于1时 --- #查看客户端信息 redis> info clients --- # Clients connected_clients:27 #已连接客户端的数量(不包括通过从属服务器连接的客户端) client_longest_output_list:0 #当前连接的客户端当中,最长的输出列表 client_biggest_input_buf:0 #当前连接的客户端当中,最大输入缓存 blocked_clients:0 #正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量 ####connected_clients: 统计当前客户端连接数,报警阈值>2000个连接; #影响报警因素: 1).客户端可能存在连接泄漏问题; 2).客户端实例数增加或客户端连接池设置过大; 3).创建集群实例非单例; ####client_longest_output_list:当前所有输出缓冲区中队列对象个数的最大值,报警阈值>500; ####client_biggest_input_buf:输入缓冲区最大buffer大小(单位:MB),报警阈值>10; #影响报警因素: 1).可能存在bigkey读写,阻塞缓冲区; 2).有频繁批量读写操作:hgetall/hkeys、zrange、lrange 、smembers、mget等; 3).开启monitor直连线上环境,阻塞服务端输入输出缓冲区; --- #查看持久化信息。 rdis> info persistence --- # Persistence loading:0 rdb_changes_since_last_save:4 #表明上次RDB保存以后改变的key次数 rdb_bgsave_in_progress:1 #表示当前是否在进行写入rdb文件操作 rdb_last_save_time:1625018669 #上次写入的时间 rdb_last_bgsave_status:ok #上次写入状态 rdb_last_bgsave_time_sec:4 #上次rdb的用时 rdb_current_bgsave_time_sec:0 aof_enabled:0 #AOF文件是否启用(0:未开启 1:开启) aof_rewrite_in_progress:0 #表示当前是否在进行写入AOF文件操作 aof_rewrite_scheduled:0 aof_last_rewrite_time_sec:-1 #上次aof的用时 aof_current_rewrite_time_sec:-1 aof_last_bgrewrite_status:ok #上次写入状态 aof_last_write_status:ok #上次写入状态 --- #查看Stats rdis> info stats --- # Stats total_connections_received:96856152 total_commands_processed:1342012722 instantaneous_ops_per_sec:48 #每秒执行的命令数,相当于QPS total_net_input_bytes:48392994290 total_net_output_bytes:131756985466058 instantaneous_input_kbps:1.38 instantaneous_output_kbps:3625.73 rejected_connections:0 #拒绝的连接个数,由于maxclients限制,拒绝新连接的个数 sync_full:0 #主从完全同步成功次数 sync_partial_ok:0 #主从部分同步成功次数 sync_partial_err:0 #主从部分同步失败次数 expired_keys:984486 evicted_keys:0 #使用内存大于maxmemory后,淘汰的key的总数 keyspace_hits:221545708 #redis请求键命中的次数 keyspace_misses:219139528 #redis请求键未被命中的次数 #缓存的命令率=keyspace_hits/(keyspace_hits+keyspace_misses) pubsub_channels:0 pubsub_patterns:0 latest_fork_usec:42257 #最近一次Fork操作阻塞redis进程的耗时数(单位ms) migrate_cached_sockets:0 ##注意:缓存命中率(50%) keyspace_hits/(keyspace_hits+keyspace_misses) --- #查看主从信息 rdis> info replication --- ![](/media//202106/2021-06-30111701022995.png) ##注意:role、connected_slaves、master_repl_offset、second_repl_offset
分享到: