Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker 诊断工具


Redis运维监控命令

Redis 大约 2506 字

统计key数量

Available since 1.0.0.

返回当前选择的db中的key数量,cluster环境下只能统计当前节点中的key数量。

DBSIZE

https://redis.io/commands/dbsize

运行情况

  • 展示全部信息
INFO
  • 展示部分信息
INFO clients

部分信息字段

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

https://redis.io/commands/info

查询慢日志

Available since 2.2.12.

  • 获取前10条慢日志详情
SLOWLOG GET 10
  • 获取目前慢日志条数
SLOWLOG LEN
  • 设置慢于多少微妙就记录为慢操作
CONFIG SET slowlog-log-slower-than 10000
  • 设置记录慢日志最大条数
CONFIG SET slowlog-max-len 128

SLOWLOG GET 10返回信息

1) 1) (integer) 1
   2) (integer) 1579014366
   3) (integer) 5000187
   4) 1) "debug"
      2) "sleep"
      3) "5"
   5) "127.0.0.1:47308"
   6) ""
...
...

信息解释

  • 1):每个慢日志条​​目的唯一累加标识符。
  • 2):记录中的命令处理的时间点(Unix时间戳)。
  • 3):命令执行所需的时间(以微秒为单位)。
  • 4):组成命令的参数数组。
  • 5):客户端IP地址和端口(仅4.0)。
  • 6):如果通过CLIENT SETNAME命令设置客户端名称(仅4.0)。

https://redis.io/commands/slowlog

客户端情况

Available since 2.4.0

  • 获取已连接客户端详情
CLIENT LIST

返回信息

id=5 addr=127.0.0.1:37858 fd=9 name= age=431703 idle=1 flags=S db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=replconf
id=9 addr=127.0.0.1:48384 fd=20 name= age=91198 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 obl=0 oll=0 omem=0 events=r cmd=client

字段解释

  • id:唯一的64位客户端ID(在Redis 2.8.12中引入)。
  • name:客户端使用CLIENT SETNAME设置的名称
  • addr:客户端的地址/端口
  • fd:套接字对应的文件描述符
  • age:连接的总持续时间(以秒为单位)
  • idle:连接的空闲时间(以秒为单位)
  • flags:客户标志
    • A:尽快关闭连接
    • b:客户端正在等待一个阻塞操作
    • c:写入全部回复后将关闭连接
    • d:监视的键已被修改-EXEC将失败
    • i:客户端正在等待VM I/O(已废弃)
    • M:客户是主节点
    • N:未设置特定标志
    • O:客户端是处于监视模式
    • P:客户是发布/订阅用户
    • r:客户端对集群节点处于只读模式
    • S:客户端是与此实例的子节点连接
    • u:客户端不是阻塞的
    • U:客户端通过Unix域套接字连接
    • x:客户端处于MULTI/EXEC上下文中
  • db:当前数据库ID
  • sub:通道订阅数
  • psub:模式匹配订阅数
  • multi:MULTI/EXEC上下文中的命令数
  • qbuf:查询缓冲区长度(0表示无查询挂起)
  • qbuf-free:查询缓冲区的可用空间(0表示缓冲区已满)
  • obl:输出缓冲区长度
  • oll:输出列表长度(缓冲区已满时,答复在此列表中排队)
  • omem:输出缓冲区的内存使用情况
  • events:文件描述符事件(见下文)
    • r:客户端socket可读 (event loop)
    • w:客户端socket可写 (event loop)
  • cmd:客户端最后执行的命令

Redis latency problems troubleshooting

延迟

Available since 2.8.13.

  • 命令行方式查看,单位:毫秒
redis-cli --latency -h `host` -p `port`
  • 开启延迟监控(监控阈值设置为0,则关闭延迟监控,单位:毫秒)
CONFIG SET latency-monitor-threshold 100
  • 延迟诊断
LATENCY DOCTOR
  • command事件延迟历史记录
LATENCY HISTORY command
  • command事件延迟图表
LATENCY GRAPH command
  • 最新的一次延迟
LATENCY LATEST

https://redis.io/topics/latency-monitor

https://redis.io/topics/latency

内存

Available since 4.0.0.

  • 内存状态
MEMORY STATS
  • key占用字节数
MEMORY USAGE myhashkey

https://redis.io/commands/memory-stats

https://redis.io/commands/memory-usage

阅读 2476 · 发布于 2020-01-15

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批