Redis监控命令

Posted cnwenf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis监控命令相关的知识,希望对你有一定的参考价值。

慢查询

这里的执行时间不包括IO操作,比如与客户端通信,发送回复等等,而只是实际执行命令所需的时间(这是唯一在命令执行过程中线程被阻塞且不能同时处理其他请求的阶段)。
可以用两个参数配置慢查询日志:

  1. _slowlog-log-slower-than_告诉Redis命令的执行时间超过多少微秒将会被记录。 请注意,使用负数将会关闭慢查询日志,而值为0将强制记录每一个命令。
  2. _slowlog-max-len_是慢查询日志的长度。 最小值是0。 当一个新命令被记录,且慢查询日志已经达到其最大长度时,将从记录命令的队列中移除删除最旧的命令以腾出空间。
    配置可以通过编辑redis.conf文件来完成,或者在服务器运行期间通过使用CONFIG GET和CONFIG SET命令来完成。

要读取慢查询日志,请使用SLOWLOG GET命令,此命令返回慢查询日志中的每一个条目。 可以只返回最近的N个条目,通过给命令传入一个额外的参数(例如:SLOWLOG GET 10)。
每一个条目由四个字段组成:

  • 每个慢查询条目的唯一的递增标识符。
  • 处理记录命令的unix时间戳
  • 命令执行所需的总时间,以微秒为单位。
  • 组成该命令的参数的数组。
redis 127.0.0.1:6379> slowlog get 2
1) 1) (integer) 14   # 慢查询条目的唯一的递增标识符
   2) (integer) 1309448221  # 处理命令的unix时间戳
   3) (integer) 15 # 命令执行所需的总时间,以微秒为单位
   4) 1) "ping"  # 组成该命令的参数的数组
2) 1) (integer) 13
   2) (integer) 1309448128
   3) (integer) 30
   4) 1) "slowlog"
      2) "get"
      3) "100"

info获取服务详细信息

INFO命令以一种易于理解和阅读的格式,返回关于Redis服务器的各种信息和统计数值。

通过给定可选的参数 section ,可以让命令只返回某一部分的信息:

  • server: Redis服务器的一般信息
  • clients: 客户端的连接部分
  • memory: 内存消耗相关信息
  • persistence: RDB和AOF相关信息
  • stats: 一般统计
  • replication: 主/从复制信息
  • cpu: 统计CPU的消耗
  • commandstats: Redis命令统计
  • cluster: Redis集群信息
  • keyspace: 数据库的相关统计

它也可以采取以下值:

  • all: 返回所有信息
  • default: 值返回默认设置的信息

如果没有使用任何参数时,默认为default。
示例:

redis> INFO
# Server
redis_version:999.999.999
redis_git_sha1:ceaf58df
redis_git_dirty:1
redis_build_id:a5eeeb464ee54856
redis_mode:standalone
os:Linux 4.1.5-x86_64-linode61 x86_64
arch_bits:32
multiplexing_api:epoll
gcc_version:4.4.1
process_id:21798
run_id:2569bb7433bfe013c2627edf62d9bf21eaf8a010
tcp_port:6379
uptime_in_seconds:3348607
uptime_in_days:38
hz:10
lru_clock:491100
config_file:/etc/redis/6379.conf

# Clients
connected_clients:8
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:7556576
used_memory_human:7.21M
used_memory_rss:10555392
used_memory_rss_human:10.07M
used_memory_peak:8370272
used_memory_peak_human:7.98M
total_system_memory:4142215168
total_system_memory_human:3.86G
used_memory_lua:24576
used_memory_lua_human:24.00K
maxmemory:3221225472
maxmemory_human:3.00G
maxmemory_policy:unknown
mem_fragmentation_ratio:1.40
mem_allocator:jemalloc-3.6.0
lazyfree_pending_objects:0

# Persistence
loading:0
rdb_changes_since_last_save:521
rdb_bgsave_in_progress:0
rdb_last_save_time:1460108780
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok

# Stats
total_connections_received:1058
total_commands_processed:20227305
instantaneous_ops_per_sec:0
total_net_input_bytes:1528543656
total_net_output_bytes:2155353808
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:22616
evicted_keys:0
keyspace_hits:5059386
keyspace_misses:1405484
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:645
migrate_cached_sockets:0

# Replication
role:master
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
used_cpu_sys:2776.27
used_cpu_user:2449.24
used_cpu_sys_children:59.10
used_cpu_user_children:1237.45

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=3790,expires=2,avg_ttl=95446662632
redis> 

各参数含义见:http://www.redis.cn/commands/info.html

参考

http://www.redis.cn/commands/info.html
http://www.redis.cn/commands/slowlog.html

以上是关于Redis监控命令的主要内容,如果未能解决你的问题,请参考以下文章

redis 性能指标监控命令

redis常用监控命令

redis代码解析-事务

Redis监控工具,命令和调优

zabbix 监控 redis

Redis监控命令