如何利用秒级监控进行mongodb故障排查

摘要: 在咱们平时的数据库使用当中,监控系统,做为排查故障,告警故障的重要辅助系统,对dba、运维、业务开发同窗进行问题诊断、排查、分析有着重要的做用。而且一个监控系统的好坏,也很大程度上影响了可否精确的定位故障,以及是否能正确进行问题修复,避免下一次的故障。mongodb

 

在咱们平时的数据库使用当中,监控系统,做为排查故障,告警故障的重要辅助系统,对dba、运维、业务开发同窗进行问题诊断、排查、分析有着重要的做用。而且一个监控系统的好坏,也很大程度上影响了可否精确的定位故障,以及是否能正确进行问题修复,避免下一次的故障。而监控粒度、监控指标完整性、监控实时性是评价一个监控的三个重要因素。数据库

在监控粒度上,目前不少的系统都只能作到分钟级监控,或者半分钟级监控。这样一个监控粒度,在针对当前高速运转的软件环境下,能力已经愈来愈捉襟见肘。对于一些瞬间爆发的大量异常更是无能为力。而提高监控粒度,带来的成倍增加的大数据量以及成倍下降的采集频率,对于资源的消耗将会是极大的考验。app

 

在监控指标完整性上,当前绝大部分的系统采用的是预约义指标进行采集的方式。这种方式有一个极大的弊端,就是,若是由于一开始没有意识到某个指标的重要性而漏采,可是偏偏倒是某次故障的关键性指标,这个时候这个故障便极有可能变成“无头冤案”。运维

 

而在监控的实时性上——“没有人关心过去是好是坏,他们只在意如今”。大数据

 

以上三个能力,只要作好一个,就能够称得上是不错的监控系统了。而阿里云自研的秒级监控系统inspector已经能够作到1秒1点的真秒级粒度,全量指标采集、无一疏漏——甚至对曾经没有出现过的指标进行自动采集,实时数据展现。1秒1点的监控粒度,让数据库的任何抖动都无处遁形;全量指标采集,给予了dba足够全面完整的信息;而实时数据展现,能第一时间知道故障的发生,也能第一时间知道故障的恢复。阿里云

 

今天就针对mongodb数据库,来聊一聊当遇到db访问超时时,若是利用秒级监控系统线程

inspector进行故障排查:blog

 

case 1队列

 

以前有一个线上业务,用的是mongodb副本集,而且在业务端进行了读写分离。忽然有一天,业务出现大量线上读流量超时,经过inspector能够明显看到当时从库的延迟异常飙高资源

从库延迟飙高,则说明从库oplog重放线程速度追不上主库写入速度,而在主从配置一致的状况下,若是从库的响应速度比不上主库,那只能说明从库当时除了正常的业务操做以外,还在进行一些高消耗的操做。

 

通过排查,咱们发现当时db的cache出现了飙升:

 

从监控中能够明显的看到,cache usage迅速从80%左右升到95%的evict trigger线,而且与此同时,dirty cache也有所攀升,达到了dirty cache evict的trigger线。

 

对于wiredTiger引擎,当cache使用率达到trigger线后,wt认为evict线程来不及evict page,那么就会让用户线程加入evict操做,而后此时就会大量引发超时。而这个想法经过application evict time指标也能够加以印证:

 

经过上图咱们能够清晰的看到,当时用户线程花费了大量时间去作evict,而后致使了正常访问请求的大量超时

 

而后通过业务端排查,是由于当时有大量的数据迁移job致使cache打满,因此在对迁移job进行限流而且增大cache以后,整个db运行也开始变的平稳。

 

case 2

 

某日线上一个使用sharding集群的业务忽然又一波访问超时报错,而后短暂时间后又迅速恢复正常。经过经验判断,当时多半有一些锁操做,致使访问超时。

 

经过inspector,咱们发如今故障发生时刻某个shard上锁队列很高:

 

因此基本印证了咱们以前对于锁致使访问超时的猜测。那么到底是什么操做致使了锁队列的飙升呢?

 

很快,经过对当时命令的排查,咱们发现当时shard上的鉴权命令忽然飙高:

 

而经过查看代码,咱们发现,mongos到mongod虽然使用keyfile进行认证,可是实际也是经过sasl命令的scram协议来进行认证,而这个在认证的时候会有一个全局锁,因此当时瞬间大量的鉴权致使了全局锁队列飙升,而后致使访问超时

因此,最后咱们经过改小客户端的链接数,来减小这种忽然激增的鉴权产生全局锁致使超时。

经过以上两个case,咱们能看到,足够小的监控粒度,足够全面的监控指标项,对于故障发生的问题排查有多么重要,而实时性,在监控墙场景下的做用也十分明显。

 

最后,秒级监控已经在阿里云mongodb控制台开放,云mongodb的用户能够自主进行监控开启,体验秒级监控带来的高清体验。

 

原文地址

 

阅读更多干货好文,请关注扫描如下二维码:

相关文章
相关标签/搜索