监控最佳实践–redis及业务接口

简介: 监控最佳实践--redis及业务接口

监控最佳实践--redis及业务接口

1. 背景

1.1 问题

2020-12-04,客户侧redis集群版监控DB0 CPU突增至100%,导致数据库无法正常服务,经排查客户侧业务上存在2M左右的大key导致DB0阻塞。并且客户侧使用的集群连接方式为默认proxy云服务器双11活动模式,如下图所示,DB0阻塞导致其他节点也无法正常服务;处理阿里云服务器双十一特惠办法:客户侧配合切阿里云新人优惠券断大key业务的高频繁次调用,请求恢复。

监控最佳实践--redis及业务接口

图1:proxy模式

1.2阿里云双十一2019 思考

此次问题导致客户阿里巴巴双十一营销活动侧课程报阿里优酷拼团名入口严重受损,进而引发深度思考。在使用redis等产品方面的监控报警手段不够完善,不够仔细,并且后续再查看业务日志发现错误率已经逐渐增多,直至redis层阿里云服务器优惠券面表现出来才get到问题所在。针对此阿里云双十一活动拼团次redis的大key问题,给客户提供了关于大key以及热点key的分析办法,并建议完善客户侧监控报警的可读性以及业务日志接口的错误告警。

2. 数据库监控分析

2.1 redis监控指标分2019双11阿里销售额是多少

redis集群版云监控指标如下表所示。

<colgroup><col><col><col><col><col></colgroup>
|

监控项

|

单位

|

MetricName

|

Dimensions

|

Statistics

|
|

平均响应时间

|

us

|

ShardingAvgRt

|

userId、instanc阿里云和你拼了eId、nodeId

|

Average、Maximum

|
|

连接数使用率

|

%

|

ShardingConnectionUsage

|

userId、instanceId、nodeId

|

Average、Maximum阿里云双十一活动拼团

|
|

CPU使用率

|

%

|

Shardi阿里双11现在交易额ngCpuUsage

|

userId、instanceId、no云服务器双11活动deId

|

Average、Maximum

|
|

命中率

|

%

|

ShardingHitRate

|

userId、instan阿里云和双十一有什么关系ceId、nodeId

|

Aver阿里双11数据age、Maximum

|
|

入方向流量

|

KByte/s

|

ShardingIntra阿里云双十一活动netIn

|

userId、instanceId、nodeId

|

Average、Maximum

|
|

流入带宽使用率

|

%

|

ShardingIntranetInRatio

|

userId、inst阿里云服务器双11活动anceId、nodeId

|

Average、Maximum

|
|

出方向流量

|

KByte/s

|

ShardingIntranetOut

|

userId、instanceId、nodeId

|

Average阿里云双11、Maximum

|
|

流出带宽使用率

|阿里云双十一活动2018

%

|

ShardingIntranetO阿里云双十一活动utRatio

|

userId、instanceId、nodeId

|

Average、阿里云服务器代金券领取Maximum

|
|

缓存内K阿里云ey数量

|

|

ShardingKeys

|

u阿里云双11优惠券serId、instanceId、nodeId

|

Average、Maximum

|
|

最大响应时阿里云双十一服务器

|

us阿里云双十一活动2018

|

ShardingMaxRt

|

userId、instanceId、nodeId

|

Average、Maximum

|
|

内存使用率

|

%

|

ShardingMemoryUsage

|

userId、instanceId、nodeId

|

Average、Maximum

|
|

QPS使用率

|

%

|

ShardingQPSUsage

|

userId阿里云双十一活动时间、instanceId、nodeId

|

Average、Maximum

|
|

已用连接数

|

|

ShardingUsedC阿里云过了优惠期多少钱onnection

|

userId、instanceId、nodeId

|

Average、Maximum

|
|

内存使用量

|

Bytes

|

ShardingUsedMemory

|

userId、instanceId、nodeId

|

Average、Maximum、Sum

|
|

平均每秒访问次数

|

|

ShardingUsedQPS

|

userId、instanceId、nodeId

|

Average、Maximum

|

2.2 redis大key分析

1.在控制台选择对应的实例,进行大key及Hot key分析处理。

图2:实例分析

2.利用API接口进行分析大 key以及Hot key。

缓存分析与热点Key查询可参考文后资料了解详情[1]。

2.3 数据库同环比监控

创建分组报警规则目前已更新至分组界面。

2.3.1 创建应用分组

监控最佳实践--redis及业务接口

图3:创阿里云双十一2019建应用分组

2.3.2 创建报警规则

[图片上传失败...(image-737068-阿里云几折优惠16152702阿里云服务器双11活动65538阿里云双十一优惠活动)]

图4:创建报警规则

监控最佳实践--redis及业务接口

图5:设置报警规则

3. 日志监控

利用sls接入客户端日志,可以通过设定规则建立仪表盘以及实现报警阿里云和双十一有什么关系。此方案日志接入采取logtail方式内网传输。阿里云服务器活动

3.1 安装logtail

安装logtail方法可参考2019双11阿里销售额是多少文后资料[2]。

3.2 创建project和logstore

登录日志服务控制台,依次创建对应地域的project及logstore。

监控最佳实践--redis及业务接口

图6:project-logs云服务器双11活动t阿里双11现在交易额ore创建

3.3 数据接入向导

阿里巴巴双十一营销活动次客户侧日志格式分别为json、log4j。

3.3.1 json

选择json文本日志>选择现有机器组>对应logtail配置

监控最佳实践--redis及业务接口

图7:logta阿里云服务器代金券领取il配置

1.设置索引

对于多重json日志,需要将字段类型更改阿里云域名优惠券为json。

监控最佳实践--redis及业务接口

图8:设置索引

2.查询分析

监控最佳实践--redis及业务接口

图9:查询分析

3.3.2 log4j

选择正则文本日志>选择现有机器组>对应logtail配置
1.正则识别首行

监控最佳实践--redis及业务接口

图10:设置自动生成

2.提取阿里云双11活动字段

[图片上传失败...(ima阿里云双十一服务器ge-6ef78e-1615270265538)]

图11: 日志提取阿里云优惠字段

3.设置索引
注意:只对新写入数据生效。

[图片上传失败...(image-c66689-阿里云双十一活动20181615270265538)]

图12:设置索引

4.查询分析

监控最佳实践--redis及业务接口

图13:查询分析

3.4 日志报警

3.4.1 仪表盘

监控最佳实践--redis及业务接口

图14:仪表盘阿里云双11优惠信息展示

3.4.2 报阿里云双十一活动2018

在仪表右上侧导航栏中单击告警,在下拉菜单中选择创建。

图15:阿里巴巴双十一营销活动创建告警

监控最佳实践--redis及业务接口

图16:告警内容设置

作者:SRE团队技术小编-小凌