「Redis」 – INFO [section]

  CREATED BY JENKINSBOT

内容简介

使用REDIS的INFO指令,可以查看REDIS当前信息及各项统计数据。输出易于解读,也易于程序解析。可选的[section]参数,可以用于指定要查看的部分。

本文将介绍这些参数,及每个参数所代表的含义。

注意事项

本文所列举的字段是在REDIS 3.2.12版本中INFO命令返回的字段,可能未涉及某些在新版REDIS中的字段。

完整的字段及含义,可以参考官方「Redis/Documentation/INFO」手册。

# Server

描述了Redis服务的基本信息。

字段名 监控指标 示例值 含义
redis_mode   standalone 服务所处的模式:”standalone”, “sentinel”, “cluster”
multiplexing_api   epoll 当前Redis使用的事件循环机制
redis_build_id   b2d74fe5fff7657d 构建的ID值
os   Linux 2.6.32-431.el6.x86_64 x86_64 操作系统的信息
lru_clock   5948172 每分钟时钟递增,用于LRU管理
tcp_port   6379 当前监听的端口号
arch_bits   64 系统架构:32, 64
run_id   56cdbb6c4a77efeca749b0cc35ad5b1e6eb0b7b4 当前实例的唯一标识。在Sentinel与Cluter中使用。
gcc_version   4.4.7 编译时所使用的编译器版本
redis_version   3.2.12 代表Redis Server的版本号
process_id   2110 当前REDIS服务的进程PID值
uptime_in_seconds   27 已经运行了多少秒
hz   10 后台某些任务(关闭连接、已过期KEY的清除)执行频率
redis_git_sha1   00000000 Git SHA1
redis_git_dirty   0 Git dirty flag
uptime_in_days   0 运行了多少天。同样的含义,只是单位不同。
executable   /usr/bin/redis-server 可执行文件的路径
config_file   /etc/redis.conf 配置文件的路径

# Clients

客户端的连接信息。

字段名 监控指标 示例值 含义
connected_clients # 1 已连接的客户端数,但是不包含来自从库的连接。
client_longest_output_list   0 当前客户端连接中,最长的输出列表
client_biggest_input_buf   0 当前客户端连接中,最大的输入缓冲区
blocked_clients   0 在阻塞调用时,待处理的客户端数量(BLPOP, BRPOP, BRPOPLPUSH)

# Memory

内存使用相关的信息。

字段名 监控指标 示例值 含义
used_memory ## 210607800 由Redis使用其分配器分配的总字节数。
used_memory_human   200.85M 同样的值,只是以易读的格式显示。
used_memory_rss # 217444352 操作系统看到的Redis分配的字节数。也可以使用top(1)和ps(1)等工具查看该值。
used_memory_rss_human   207.37M 同样的值,只是以易读的格式显示。
used_memory_peak # 210607800 由Redis消耗的峰值内存(以字节为单位)
used_memory_peak_human   200.85M 同样的值,只是以易读的格式显示。
total_system_memory   33525747712 主机具有的内存总量
total_system_memory_human   31.22G 同样的值,只是以易读的格式显示。
used_memory_lua   37888 由Lua引擎使用的字节数
used_memory_lua_human   37.00K 同样的值,只是以易读的格式显示。
maxmemory   0 配置指令maxmemory的值
maxmemory_human   0B 同样的值,只是以易读的格式显示。
maxmemory_policy   noeviction 配置指令maxmemory-policy的值
mem_fragmentation_ratio   1.03 该值是used_memory_rss和used_memory之间的比率
mem_allocator   jemalloc-3.6.0 内存分配器,在编译时确定

# Persistence

与RDB与AOF相关的信息。

字段名 监控指标 示例值 含义
loading   0 是否正在加载转储文件
rdb_changes_since_last_save ## 0 自上次转储以来的更改数
rdb_bgsave_in_progress   0 是否正在进行RDB保存动作
rdb_last_save_time ## 1566229233 上次RDB保存成功的时间戳
rdb_last_bgsave_status   ok 上次RDB保存操作的状态
rdb_last_bgsave_time_sec   -1 最后一次RDB保存操作的持续时间,以秒为单位
rdb_current_bgsave_time_sec   -1 正在进行的RDB保存操作的持续时间(如果有)
aof_enabled   0 是否启用了AOF日志
aof_rewrite_in_progress   0 是否正在进行AOF重写操作
aof_rewrite_scheduled   0 表示一旦正在进行的RDB保存完成,将安排AOF重写操作。
aof_last_rewrite_time_sec   -1 最后一次AOF重写操作的持续时间(以秒为单位)
aof_current_rewrite_time_sec   -1 正在进行的AOF重写操作的持续时间(如果有)
aof_last_bgrewrite_status   ok 最后一次AOF重写操作的状态
aof_last_write_status   ok 最后一次写入到AOF操作的状态

# Stats

反映了一般统计信息。

字段名 监控指标 示例值 含义
total_connections_received # 1 服务器接受的连接总数
total_commands_processed   1 服务器处理的命令总数
instantaneous_ops_per_sec # 0 每秒处理的命令数
total_net_input_bytes   71 从网络读取的总字节数
total_net_output_bytes   73 写入网络的总字节数
instantaneous_input_kbps # 0.00 网络的每秒读取速率,以KB/s为单位
instantaneous_output_kbps # 0.00 网络的每秒输出速率,以KB/s为单位
rejected_connections # 0 由于maxclients限制而被拒绝的连接数
sync_full   0 与从库之间“完全重新同步”的数量
sync_partial_ok   0 已接受的“部分重新同步”请求的数量
sync_partial_err   0 拒绝“部分重新同步”请求的数量
expired_keys # 0 键过期时间的总数
evicted_keys # 0 由于maxmemory限制而被驱逐的键数量
keyspace_hits # 0 主字典中查找键的成功次数
keyspace_misses # 0 主字典中查找键的失败次数
pubsub_channels   0 具有客户端订阅的全局pub/sub通道数
pubsub_patterns   0 具有客户端订阅的全局pub/sub模式数
latest_fork_usec   0 最新fork操作的持续时间,以微秒为单位
migrate_cached_sockets   0 为MIGRATE目的打开的套接字数量

# Replication

与主从复制有关的信息。

字段名 监控指标 示例值 含义
role   master 如果不是从库,则显示“master”;如果是从库,则显示“slave”。
connected_slaves   0 已连的从库数量
master_repl_offset   0 服务器的当前复制偏移量
repl_backlog_active   0 指示“复制积压”是否处于活动状态
repl_backlog_size   1048576 “复制积压缓冲区“的总大小(以字节为单位)
repl_backlog_first_byte_offset   0 “复制积压缓冲区”的主偏移量
repl_backlog_histlen   0 “复制积压缓冲区”中数据的大小(以字节为单位)

# CPU

反映了CPU的使用信息。

字段名 监控指标 示例值 含义
used_cpu_sys   0.03 由Redis服务消耗的系统CPU量
used_cpu_user   0.30 由Redis服务器消耗的用户CPU量
used_cpu_sys_children   0.00 后台进程占用的系统CPU量
used_cpu_user_children   0.00 后台进程占用的用户CPU量

# Cluster

反映了Redis集群的信息。

字段名 监控指标 示例值 含义
cluster_enabled   0 表示已启用Redis群集

# Keyspace

数据库相关的统计。

字段名 监控指标 示例值 含义
db0   keys=14487,expires=4,avg_ttl=525992871 键的数量,拥有有效期的键的数量,平均TTL值
db5   keys=7,expires=0,avg_ttl=0  
db14   keys=3,expires=0,avg_ttl=0  

关于监控

看了几篇文章,每篇文章给出的标准都不太相同,具体的监控指标要依据各自的使用场景进行。

参考文献

Redis/Documentation/INFO
Redis监控方案
Redis性能指标详解与监控