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

1. 背景

1.1 问题

2020-12-04,客户侧redis集群版监控DB0 CPU突增至100%,导致数据库无奈失常服务,经排查客户侧业务上存在2M左右的大key导致DB0阻塞。并且客户侧应用的集群连贯形式为默认proxy模式,如下图所示,DB0阻塞导致其余节点也无奈失常服务;解决方法:客户侧配合切断大key业务的高频繁次调用,申请复原。


图1:proxy模式

1.2 思考

此次问题导致客户侧课程报名入口重大受损,进而引发深度思考。在应用redis等产品方面的监控报警伎俩不够欠缺,不够认真,并且后续再查看业务日志发现错误率曾经逐步增多,直至redis层面体现进去才get到问题所在。针对此次redis的大key问题,给客户提供了对于大key以及热点key的剖析方法,并倡议欠缺客户侧监控报警的可读性以及业务日志接口的谬误告警。

2. 数据库监控剖析

2.1 redis监控指标分享

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

监控项单位MetricNameDimensionsStatistics
均匀响应工夫usShardingAvgRtuserId、instanceId、nodeIdAverage、Maximum
连接数使用率%ShardingConnectionUsageuserId、instanceId、nodeIdAverage、Maximum
CPU使用率%ShardingCpuUsageuserId、instanceId、nodeIdAverage、Maximum
命中率%ShardingHitRateuserId、instanceId、nodeIdAverage、Maximum
入方向流量KByte/sShardingIntranetInuserId、instanceId、nodeIdAverage、Maximum
流入带宽使用率%ShardingIntranetInRatiouserId、instanceId、nodeIdAverage、Maximum
出方向流量KByte/sShardingIntranetOutuserId、instanceId、nodeIdAverage、Maximum
流出带宽使用率%ShardingIntranetOutRatiouserId、instanceId、nodeIdAverage、Maximum
缓存内Key数量ShardingKeysuserId、instanceId、nodeIdAverage、Maximum
最大响应工夫usShardingMaxRtuserId、instanceId、nodeIdAverage、Maximum
内存使用率%ShardingMemoryUsageuserId、instanceId、nodeIdAverage、Maximum
QPS使用率%ShardingQPSUsageuserId、instanceId、nodeIdAverage、Maximum
已用连接数ShardingUsedConnectionuserId、instanceId、nodeIdAverage、Maximum
内存使用量BytesShardingUsedMemoryuserId、instanceId、nodeIdAverage、Maximum、Sum
均匀每秒拜访次数ShardingUsedQPSuserId、instanceId、nodeIdAverage、Maximum

2.2 redis大key剖析

1.在控制台抉择对应的实例,进行大key及Hot key剖析解决。


图2:实例剖析

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

缓存剖析与热点Key查问可参考文后材料理解详情[1]。

2.3 数据库同环比监控

创立分组报警规定目前已更新至分组界面。

2.3.1 创立利用分组


图3:创立利用分组

2.3.2 创立报警规定


图4:创立报警规定


图5:设置报警规定

3. 日志监控

利用sls接入客户端日志,能够通过设定规定建设仪表盘以及实现报警。此计划日志接入采取logtail形式内网传输。

3.1 装置logtail

装置logtail办法可参考文后材料[2]。

3.2 创立project和logstore

登录日志服务控制台,顺次创立对应地区的project及logstore。


图6:project-logstore创立

3.3 数据接入向导

此次客户侧日志格局别离为json、log4j。

3.3.1 json

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


图7:logtail配置

1.设置索引

对于多重json日志,须要将字段类型更改为json。


图8:设置索引

2.查问剖析


图9:查问剖析

3.3.2 log4j

抉择正则文本日志\>抉择现有机器组\>对应logtail配置
1.正则辨认首行


图10:设置主动生成

2.提取字段


图11: 日志提取字段

3.设置索引
留神:只对新写入数据失效。


图12:设置索引

4.查问剖析


图13:查问剖析

3.4 日志报警

3.4.1 仪表盘


图14:仪表盘信息展现

3.4.2 报警

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


图15:创立告警


图16:告警内容设置

对于钉钉机器人的告警内容可参考文后模板[3]进行设置。

参考文献

[1] 缓存剖析与热点Key查问:https://help.aliyun.com/document\_detail/184226.html?spm=a2c4g.11186623.6.975.255f3635R5By1i
[2] 装置Logtail(Linux零碎):https://help.aliyun.com/document\_detail/28982.html?spm=a2c4g.11186623.2.5.31a09d7cBfTtvl
[3] 钉钉机器人告警模板:https://help.aliyun.com/document\_detail/91785.html?spm=5176.2020520112.0.dexternal.62b334c0S2Jxx2

咱们是阿里云智能寰球技术服务-SRE团队,咱们致力成为一个以技术为根底、面向服务、保障业务零碎高可用的工程师团队;提供业余、体系化的SRE服务,帮忙广大客户更好地应用云、基于云构建更加稳固牢靠的业务零碎,晋升业务稳定性。咱们冀望可能分享更多帮忙企业客户上云、用好云,让客户云上业务运行更加稳固牢靠的技术,您可用钉钉扫描下方二维码,退出阿里云SRE技术学院钉钉圈子,和更多云上人交换对于云平台的那些事。

版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。