Redis的运维手段

info命令

最基本的监控运维手段。

Prometheus

接入Prometheus监控,

Prometheus 提供了插件功能来实现对一个系统的监控,我们把插件称为 exporter, 每一个 exporter 实际是一个采集监控数据的组件。

Redis-exporter就是用来监控 Redis 的

慢查询日志

慢查询日志的两个参数:

  • slowlog-log-slower-than:这个参数表示,慢查询日志对执行时间大于多少微秒的命 令进行记录。
  • slowlog-max-len:这个参数表示,慢查询日志最多能记录多少条命令记录。默认是 128。建议设置为 1000 左右

命令:

SLOWLOG GET 1

除了慢查询日志以外,Redis 从 2.8.13 版本开始,还提供了 latency monitor 监控工具, 这个工具可以用来监控 Redis 运行过程中的峰值延迟情况

config set latency-monitor-threshold 1000
latency latest

查询bigkey

在执行 redis-cli 命令时带上–bigkeys 选项,进而对整个数据库中的键值对大小 情况进行统计分析。比如说,统计每种数据类型的键值对个数以及平均大小。

这个 命令执行后,会输出每种数据类型中最大的 bigkey 的信息

./redis-cli --bigkeys

不过,在使用–bigkeys 选项时,有一个地方需要注意一下。这个工具是通过扫描数据库来 查找 bigkey 的,所以,在执行的过程中,会对 Redis 实例的性能产生影响

如果你在使 用主从集群,我建议你在从节点上执行该命令。因为主节点上执行时,会阻塞主节点。

你两个小建议:

第一个建议是,在 Redis 实例业务压力的低峰 阶段进行扫描查询,以免影响到实例的正常运行;

第二个建议是,可以使用 -i 参数控制扫 描间隔,避免长时间扫描降低 Redis 实例的性能。

./redis-cli --bigkeys -i 0.1

对于集合类型来说,这个方法只统计集合元素个数的多少,而不是实际占用的内存量。 但是,一个集合中的元素个数多,并不一定占用的内存就多。

使用 MEMORY USAGE 命令(需要 Redis 4.0 及以上版本),查询一个键值对占用的内存空间

MEMORY USAGE user:info

查询主从复制

Redis 的 INFO replication 命令

master_repl_offset:主库接收写命令的进度信息

slave_repl_offset:从库复制写命令的进度信息

slot操作

查看slot

cluster slots

迁移slot

CLUSTER SETSLOT:使用不同的选项进行三种设置,分别是设置 Slot 要迁入的目标实例,Slot 要迁出的源实例,以及 Slot 所属的实例。
CLUSTER GETKEYSINSLOT:获取某个 Slot 中一定数量的 key。
MIGRATE:把一个 key 从源实例实际迁移到目标实例。

假设我们要把 Slot 300 从源实例(ID 为 3)迁移到目标实例(ID 为 5),那要怎么做 呢? 实际上,我们可以分成 5 步。

第 1 步,我们先在目标实例 5 上执行下面的命令,将 Slot 300 的源实例设置为实例 3,表 示要从实例 3 上迁入 Slot 300。

CLUSTER SETSLOT 300 IMPORTING 3

第 2 步,在源实例 3 上,我们把 Slot 300 的目标实例设置为 5,这表示,Slot 300 要迁 出到实例 5 上,如下所示:

CLUSTER SETSLOT 300 MIGRATING 5

第 3 步,从 Slot 300 中获取 100 个 key。因为 Slot 中的 key 数量可能很多,所以我们需 要在客户端上多次执行下面的这条命令,分批次获得并迁移 key。

CLUSTER GETKEYSINSLOT 300 100

第 4 步,我们把刚才获取的 100 个 key 中的 key1 迁移到目标实例 5 上(IP 为 192.168.10.5),同时把要迁入的数据库设置为 0 号数据库,把迁移的超时时间设置为timeout。我们重复执行 MIGRATE 命令,把 100 个 key 都迁移完。

MIGRATE 192.168.10.5 6379 key1 0 timeout

第5步,我们重复执行第 3 和第 4 步,直到 Slot 中的所有 key 都迁移完成。

从 Redis 3.0.6 开始,你也可以使用 KEYS 选项,一次迁移多个 key(key1、2、3),这 样可以提升迁移效率。

MIGRATE 192.168.10.5 6379 "" 0 timeout KEYS key1 key2 key3

命令重命名

高风险的命令,例如 KEYS、FLUSHDB、FLUSHALL 等

禁用命令,修改服务器的配置文件redis.conf,在SECURITY这一项中,我们新增以下命令:

rename-command FLUSHALL ""
rename-command FLUSHDB  ""
rename-command CONFIG   ""
rename-command KEYS     ""

如果还想保留命令,只是想改名

rename-command FLUSHALL joYAPNXRPmcarcR4ZDgC81TbdkSmLAzRPmcarcR
rename-command FLUSHDB  qf69aZbLAX3cf3ednHM3SOlbpH71yEXLAX3cf3e
rename-command CONFIG   FRaqbC8wSA1XvpFVjCRGryWtIIZS2TRvpFVjCRG
rename-command KEYS     eIiGXix4A2DreBBsQwY6YHkidcDjoYA2DreBBsQ

说明:对于FLUSHALL命令,需要设置配置文件中appendonly no,否则服务器无法启动哦~

数据迁移工具 Redis-shake

是阿里云 Redis 和 MongoDB 团队开发的一个用于 Redis 数据同步的 工具。

Redis-shake 的基本运行原理,是先启动 Redis-shake 进程,这个进程模拟了一个 Redis 实例。然后,Redis-shake 进程和数据迁出的源实例进行数据的全量同步。 这个过程和 Redis 主从实例的全量同步是类似的

源实例相当于主库,Redis-shake 相当于从库,源实例先把 RDB 文件传输给 Redis-shake,Redis-shake 会把 RDB 文件发送给目的实例。接着,源实例会再把增量命令发送 给 Redis-shake,Redis-shake 负责把这些增量命令再同步给目的实例。

集群管理工具 CacheCloud

sohu开源的Redis 运维管理的云平台

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,063评论 6 510
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,805评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,403评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,110评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,130评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,877评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,533评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,429评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,947评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,078评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,204评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,894评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,546评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,086评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,195评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,519评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,198评论 2 357

推荐阅读更多精彩内容