通过Redis Lens洞察Redis状态

玉梅
  • 收获赞:52
  • 擅长领域:这个同学很专业,但是有点神秘哟~

本文为您介绍Redis Lens以及如何通过Redis Lens洞察Redis状态。

背景

云数据库Redis版(ApsaraDB for Redis)是兼容开源Redis协议标准、提供混合存储的数据库服务,基于双机热备架构及集群架构,可满足高吞吐、低延迟及弹性变配等业务需求。目前云数据库Redis基于阿里云日志服务SLS,为用户提供日志的查询、在线分析、导出等功能,帮助用户时刻掌握产品安全及性能情况。

Redis日志监控现状

  • Redis的日志监控是在单个实例下面,只能进入实例详情进行审计日志的开通与关闭,如果需要监控的实例比较多那日志监控的开启、查询会比较不便。同时Redis资产是分地域查询与展示,缺乏统一的Redis资产管理与直观的日志数据分析。

image.png
  • Redis控制台提供的慢日志与运行日志报表比较简单,仅支持时间范围内数据的查询,不具备用户自定义查询与分析能力,如果用户有查询或者分析需求需要进入到SLS相应project与logstore下查看,操作不便且易出错。

  • Redis内运行日志与慢日志仅提供72小时内存储查询,超时效的日志数据无法查看,不利于运维问题追溯。

Redis Lens

Redis Lens是SLS团队联合Redis团队发布的集中式统一Redis实例资产、帮助用户方便快捷获取数据库的运行日志、慢日志以及审计日志的监控与分析,提升Redis资源管理效率与实例资源运行分析,同时提供长时间(1~365天)日志存储的平台。其中三种日志的功能介绍如下:

  • 审计日志:提供操作审查、安全合规,满足安全规范中审计部分的要求,查询历史热点Key 分析。

  • 慢日志:记录执行时间超过指定阈值的请求,帮助用户找到解决性能问题以及优化请求的线索。

  • 运行日志:提供实例运行生命周期状态,以及寻找解决运维问题线索。

说明

慢日志与运行日志的接入、存储与查询分析免费

开通各类型日志存储分析条件

  • Redis实例为社区版实例或本地盘版的性能增强型实例。

  • Redis实例的引擎版本为4.0或以上,且实例的小版本为最新。关于如何升级版本,请参见升级大版本升级小版本

  • 需要授予RAM用户AliyunServiceRoleForSLSAudit以及AliyunServiceRoleForKvstore权限。如何授权,参考下面使用步骤

接入管理--Redis实例管理视图

开启Redis Lens后,SLS会自动从用户侧拉取所有Redis实例列表,获得全局的一个管理视图(注:实例类型不为社区版或本地盘版的性能增强型的会被过滤),如下图所示,包含有如下信息:

  • 实例基本信息:实例ID、名称、规格、地域、社区版本以及大版本号

  • 实例日志采集状态:审计日志、慢日志、运行日志三种日志的采集操作与采集状态,如果用户开启Redis Lens后又有实例的更新:包括增加、删除以及更改实例详情等,Redis Lens这里的全局资产管理会自动更新实例列表,同时如若在Redis侧开启日志采集的实例状态也会同步更新到Redis Lens中。

重要

审计日志和慢日志、运行日志会有个联动状态:开启审计日志后慢日志与运行日志也同步开启,审计日志可单独关闭,慢日志与运行日志开启后即无法关闭。(慢日志与运行日志接入存储和查询分析免费,其他收费参考:收费说明

image.png

目标存储库--投递目标库管理视图

开启Redis日志采集后,Redis实例的监控数据会投递到固定的目标存储库中,目前目标存储库支持查看存储目标库的地域、存储日志类型以及对应的监控实例列表(稍后还会提供目标存储库的数据保存时间修改)。点击具体的project或者对应的Logstore后会跳转到SLS Project页面查看原始数据。

image.png

报表中心--报表集中管理中心

报表中心提供实例纬度的报表查询,可自助选择实例ID(名称)查看实例的慢日志与审计日志中心报表。

审计日志报表说明

数据

说明

用户信息

访问用户数、TOP5 用户数

客户端信息

访问客户端数、TOP5 客户端IP、TOP5 执行命令

性能数据

平均RT、平均QPS

审计日志

审计日志条数、审计日志详情

慢日志报表说明

数据

说明

用户信息

访问用户数、TOP5 用户数

客户端信息

访问客户端数、TOP5 客户端IP、TOP5 执行命令

性能数据

平均RT、RT趋势、平均QPS

慢日志

慢日志条数、慢日志详情

说明

通用功能还支持自定义关键字筛选查询以及各客户端访问统计。

image.png

使用步骤

开启审计日志

1. 开启Redis Lens

用户可通过SLS首页云产品Lens->Redis Lens进入(若云产品Lens没有在查看更多日志应用中查找)

image.png

进入Redis Lens需要授予RAM用户AliyunServiceRoleForSLSAudit权限以及AliyunServiceRoleForKvstore权限,可根据页面提示操作授权

2. 审计日志开启

根据步骤1开启Redis Lens即进入接入管理页面查看到全局的Redis资产,选择需要开启审计日志的实例点击开启按钮,输入日志保存时间(1~365天)开启日志监控。

image.png

热点Key使用实战

环境准备

  1. 购买满足审计日志开通要求的Redis实例(此处以region:cn-zhangjiakou举例)Redis控制台:https://kvstore.console.aliyun.com/Redis/instance/cn-zhangjiakou,购买包年包月Redis 5.0s社区版实例一台

image.png
  1. 按照开启审计日志步骤打开审计日志,设置保存日志事件365天,打开审计日志

热点Key场景构建

说明:当某个Key的QPS大于3000时才会被记录为热点Key,使用熟悉的语言编写并发脚本构造热点Key

Redis Lens热点key报表分析

参考通过Key分析查询大Key和热Key,进入Redis Lens报表中心选择对应实例:

  • 关键词查询type=7为热点Key日志

image.png
  • 关键词查询type=8为主节点大key日志

image.png