最近需要监控Redis,就不得不用到Redis的info命令
官方文档 http://redis.io/commands/info 下面简单的介绍一下info的信息:
info主要有以下几项,因版本不同可能略有差别
- Server:有关redis服务器的常规信息
- Clients:客户端连接部分
- Memory:内存消耗相关信息
- Persistence:RDB和AOF相关信息
- Stats:一般统计
- Replication:主从同步信息
- CPU:CPU消耗统计
- Cluster:集群部分
- Keyspace:数据库相关统计
Server段:
# Server
redis_version:3.2.12 # redis服务版本
redis_git_sha1:00000000 # Git SHA1
redis_git_dirty:0 # Git dirty flag
redis_build_id:2c318dc508e39d5 # redis build id
redis_mode:standalone # 运行模式,单机或者集群
os:Linux 3.10.0-693.el7.x86_64 x86_64 # redis服务器的宿主操作系统
arch_bits:64 # 架构(32或64位)
multiplexing_api:epoll # redis所使用的事件处理机制
gcc_version:4.8.5 # 编译redis时所使用的gcc版本
process_id:19042 # redis服务进程的pid
run_id:7c373392a46989e73ddb3fde67369b511fbf6a88 # redis服务器的随机标识符(用于sentinel和集群)
tcp_port:6379 # redis服务监听端口
uptime_in_seconds:1818914 # redis服务启动总时间,单位是秒
uptime_in_days:21 # redis服务器启动总时间,单位是天
hz:10 # redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率,程序规定serverCron每秒运行10次。
lru_clock:14556392 # 自增的时钟,用于LRU管理,该时钟100ms(hz=10,因此每1000ms/10=100ms执行一次定时任务)更新一次。
executable:/usr/local/redis/bin/./redis-server # 可执行文件的路径
config_file:/usr/local/redis/redis.conf # 配置文件路径
client段:
# Clients
connected_clients:16 # 已连接客户端的数量(不包括通过slave连接的客户端)
client_longest_output_list:0 # 当前连接的客户端当中,最长的输出列表,用client list命令观察omem字段最大值
client_biggest_input_buf:0 # 当前连接的客户端当中,最大输入缓存,用client list命令观察qbuf和qbuf-free两个字段最大值
blocked_clients:0 # 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量
Memory段
# Memory
used_memory:25305696 # 使用内存,以字节(byte)为单位
used_memory_human:24.13M # 以人类可读的格式返回 Redis 分配的内存总量
used_memory_rss:30793728 # 系统给redis分配的内存即常驻内存,和top 、 ps 等命令的输出一致。
used_memory_rss_human:29.37M # 以人类可读的格式返回系统给redis分配的内存即常驻内存,和top 、 ps 等命令的输出一致。
used_memory_peak:27639072 # 内存使用的峰值大小
used_memory_peak_human:26.36M # 以人类可读的格式返回 Redis 的内存峰值
total_system_memory:8186003456 # 操作系统的总内存 ,以字节(byte)为单位
total_system_memory_human:7.62G # 以人类可读的格式返回操作系统的总内存
used_memory_lua:37888 # lua引擎使用的内存
used_memory_lua_human:37.00K # 以人类可读的格式返回lua引擎使用的内存
maxmemory:0 # 最大内存的配置值
maxmemory_human:0B # 以人类可读的格式返回最大内存的配置值
maxmemory_policy:noeviction # 达到最大内存配置值后的策略
mem_fragmentation_ratio:1.22 # used_memory_rss和used_memory之间的比率,小于1表示使用了swap,大于1表示碎片比较多
mem_allocator:jemalloc-4.0.3 # 在编译时指定的redis所使用的内存分配器。可以是libc、jemalloc或者tcmalloc
Persistence段:
# Persistence
loading:0 # 服务器是否正在载入持久化文件
rdb_changes_since_last_save:0 # 离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化
rdb_bgsave_in_progress:0 # 服务器是否正在创建rdb文件
rdb_last_save_time:1558059731 # 最近一次成功创建rdb文件的时间戳
rdb_last_bgsave_status:ok # 最近一次rdb持久化是否成功
rdb_last_bgsave_time_sec:1 # 最近一次成功生成rdb文件使用的时间(单位s)
rdb_current_bgsave_time_sec:-1 # 如果服务器正在创建rdb文件,那么值记录的就是当前的创建操作已经耗费的时间(单位s)
aof_enabled:1 # 是否开启了aof,默认为0(没开启)
aof_rewrite_in_progress:0 # 标识aof的rewrite操作是否在进行中
aof_rewrite_scheduled:0 # rewrite任务计划,当客户端发送bgrewriteaof指令,如果当前rewrite子进程正在执行,那么将客户端请求的bgrewriteaof变为计划任务,待aof子进程结束后执行rewrite
aof_last_rewrite_time_sec:-1 # 最近一次aof rewrite耗费的时间(单位s)
aof_current_rewrite_time_sec:-1 # 如果rewrite操作正在进行,则记录所使用的时间
aof_last_bgrewrite_status:ok # 上次bgrewriteaof操作的状态
aof_last_write_status:ok # 上次aof写入状态
aof_current_size:42820373 # aof当前大小,以字节(byte)为单位
aof_base_size:16223723 # aof上次启动或rewrite的大小
aof_pending_rewrite:0 # 同上面的aof_rewrite_scheduled
aof_buffer_length:0 # aof buffer的大小
aof_rewrite_buffer_length:0 #a of rewrite buffer的大小
aof_pending_bio_fsync:0 # 后台IO队列中等待fsync任务的个数
aof_delayed_fsync:41394 # 延迟的fsync计数器 TODO
Stats段:
# Stats
total_connections_received:5470 # 自启动起连接过的总数
total_commands_processed:837179 # 自启动起运行命令的总数
instantaneous_ops_per_sec:3 # redis当前的qps,redis内部较实时的每秒执行的命令总数
total_net_input_bytes:152857843 # redis网络入口流量字节数
total_net_output_bytes:1899573874 # redis网络出口流量字节数
instantaneous_input_kbps:0.05 # redis网络入口kps
instantaneous_output_kbps:8.27 # redis网络出口kps
rejected_connections:0 # 拒绝的连接个数,redis连接个数达到maxclients限制,拒绝新连接的个数
sync_full:0 # 主从完全同步成功次数
sync_partial_ok:0 # 主从部分同步成功次数
sync_partial_err:0 # 主从部分同步失败次数
expired_keys:2446 # 自启动起过期的key的总数
evicted_keys:0 # 自启动起剔除(超过了maxmemory后)的key的数量
keyspace_hits:168314 # 自启动起命中key的个数
keyspace_misses:32932 # 自启动起未命中key的个数
pubsub_channels:0 # 当前使用中的频道数量
pubsub_patterns:0 # 当前使用的模式的数量
latest_fork_usec:1604 # 最近一次fork操作阻塞redis进程的时间(单位微妙μs)
migrate_cached_sockets:0 # 为迁移而打开的套接字数
Replication字段:
# Replication
role:master # 角色(主从)
connected_slaves:0 # 从库数量
slave0:ip=10.15.x.x,port=6379,state=online,offset=2230297606,lag=2 #从库信息
master_repl_offset:2230300129 #主从同步偏移量,此值如果和上面的offset相同说明主从一致没延迟
repl_backlog_active:1 # 复制积压缓冲区是否开启
repl_backlog_size:1048576 # 复制积压缓冲大小(单位字节)
repl_backlog_first_byte_offset:2229251554 # 复制缓冲区里偏移量的大小
repl_backlog_histlen:1048576 # 复制积压缓冲区中数据的大小(单位字节)
CPU段:
# CPU
used_cpu_sys:587.22 # 将所有redis主进程在内核态所占用的CPU时求和累计起来
used_cpu_user:623.71 # 将所有redis主进程在用户态所占用的CPU时求和累计起来
used_cpu_sys_children:14.39 # 将后台进程在核心态所占用的CPU时求和累计起来
used_cpu_user_children:122.08 # 将后台进程在用户态所占用的CPU时求和累计起来
Cluster段:
cluster_enabled:0 # 实例是否启用集群模式
Keyspace段:
# Keyspace
db0:keys=32652,expires=142,avg_ttl=986783694 # db0的key的数量,带有生存期的key的数,平均存活时间