Redis 运维实战 第08期:监控

这篇文章我们聊聊 Redis 运维实战系列第 8 期–Redis 监控。

Redis 在很多互联网公司都充当着非常核心的角色,因此,监控 Redis 以保证其稳定显得格外重要。这节内容就来聊聊 Redis 的一些常见监控项。

1 连接检测

连接失败检测:当监控组件无法连接到 Redis 实例时,则触发告警。

客户端连接数:执行 info clients 命令获取 connected_clients 就是客户端连接数。

2 变量检测

maxmemory:执行 config get maxmemory 获取配置的最大内存,判断是否有设置或者是否合理。

maxmemory-policy:执行 config get maxmemory-policy 获取配置的最大内存策略。

3 主从复制检测

角色检测:执行 info replication 获取 role,如果 role 有变化则告警。

复制状态检测:在 slave 上执行 info replication 获取 master_link_status,判断主从是否断开,如果为 down,则触发告警。

延迟检测:主节点 info replication 的 master_repl_offset 和 slave0 字段的 offset 指标的差值,就是主从节点延迟的字节量,如下图:

实例 master_repl_offset 和 slave0 字段的 offset 指标一样,因此主从没延迟。

从库是否设置只读:在 slave 上执行 info replication 获取 slave_read_only,该值默认为 1,表示从库默认只读,如果关闭只读,则告警。

4 吞吐量监控

执行完 info stats 命令后,可以找出以下关于吞吐量的监控项:

total_commands_processed:从 Redis 启动以来总计处理的命令数,可以通过前后两次监控组件获取的差值除以时间差,以得到 QPS。

instantaneous_ops_per_sec:当前 Redis 实例的 OPS。

total_net_input_bytes:网络总入量。

total_net_output_bytes:网络总出量。

instantaneous_input_kbps:每秒输入量,单位是kb/s

instantaneous_output_kbps:每秒输出量,单位是kb/s

5 内存监控

内存使用率,其计算方法为:used_memory/maxmemory,可设置内存使用率超过 80% 则告警。

used_memory 通过 info memory 获取,表示 Redis 真实使用的内存 ;

maxmemory 通过 config get maxmemory 获取。

内存碎片率,其计算方法为:used_memory_rss/used_memory。大于 1 表示有内存碎片,越大表示越多;小于 1 表示正在使用虚拟内存,虚拟内存其实就是硬盘,性能会下降很多。一般内存碎片率在 1 - 1.5 之间比较健康。

两个参数均通过 info memory 获取;

used_memory_rss 表示进程实际使用的物理内存大小。

缓存命中率,其计算方法为:HitRate = keyspace_hits / (keyspace_hits + keyspace_misses) ,缓存命中率低于 90% 则告警。

两个参数均通过 info stats 获取;

keyspace_hits 表示 Redis 请求键被命中的次数

keyspace_misses 表示 Redis 请求键未被命中的次数

6 持久化监控

持久化可以防止数据丢失,因此对于持久化的监控,也是比较重要的。这里聊聊几个和持久化相关的监控项(相关参数均为执行完 info Persistence 的结果):

上一次 RDB 持久化状态:可以看 rdb_last_bgsave_status 的结果,如果持久化未成功,则告警。

上一次 RDB 持久化的持续时间:可以看 rdb_last_bgsave_time_sec 的结果,如果超过某个时间,则告警。

查看 AOF 文件大小:可以看 aof_current_size 的结果,如果过大,可以考虑手动触发一次 bgrewriteaof。

7 key 监控

key 数量:执行 keyspace 可以看到每个 DB 的 key 数量,对其进行监控,如果超过某个数量,则告警提示。

大 key:参考:Redis 运维实战 第06期:Bigkey

热 key:参考:Redis 运维实战 第07期:Hotkey

8 慢查询监控

因为 Redis 单线程特性,慢查询会导致其他命令阻塞,从而导致客户端出现请求超时,因此对于慢查询监控也不能少。

慢查询涉及两个参数

slowlog-log-slower-than:执行时间(微秒)超过了多少后,会记录在慢查询中,默认 10000 微秒

slowlog-max-len:慢日志的长度,当慢查询日志达到最大条数时,如果有新的慢查询,会移除最大的慢查询。

读取慢查询,可以执行 slowlog get 命令,表示显示所有的慢查询,如果执行 slowlog get 1,则表示只显示最新的一条慢查询,其输出内容如下:


每个字段解释如下:

1)唯一日志标识符

2)命令执行的时间戳

3)执行时间,单位:微妙

4)执行的命令

5)客户端 IP 和端口(4.0 及以上版本)

6)客户端名称(4.0 及以上版本)

因此对于慢查询的监控,可以每次获取最新慢查询的唯一日志标识符,如果跟上一次获取的值对比,变大了,则触发告警,提示我们有慢查询。

9 集群监控

从 cluster info 命令中可以获取集群的状态,可以对下面几项进行监控:

cluster_state 如果等于 fail,则触发告警,表示集群不能正常相应请求。

cluster_slots_fail 表示哈希槽状态为 fail 的数量,如果大于 0,则触发告警,此时可能集群节点无法提供查询服务。

cluster_known_nodes 表示集群中节点数量,如果突然减少,则触发告警。



欢迎加入 Redis 交流社群

群内不定期邀请一些身边的 Redis 大牛

交流分享,解答工作中遇到的的问题

分享工作经验、(微yzlkf09)面试技巧等!

也欢迎各位大牛投稿,内容可以是数据库、开发、运维、产品、运营等!

悦专栏 LIKECOLUMN

在这里,学好编程

做更优秀的 IT人!

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

推荐阅读更多精彩内容