传统的运维监控系统是以基线为核心判断系统是否存在某个问题并进行告警的。这种模式最大的问题就是基线如何设置十分困难,如果我们自己日常运维的系统,我们对基线十分了解,那么我们可以给出相对合理的基线,实现较为精准的告警。
不管如何设置,单指标告警总是不准确的,因为我们无法知道系统什么时候存在问题。我们以每秒逻辑读这个指标来做些分析吧。每秒逻辑读这个指标在二十年前监控Oracle数据库是否存在把系统撑爆的风险是十分有效的,那时候的服务器的CPU资源总是最紧张的。当逻辑读变得很高的时候,我们就需要告警让DBA介入运维了。这时候杀掉几个大查询往往就能挽救系统。实际上现在很多国产、开源数据库运维领域,这个指标异常的监测依然十分有效。
传统的基线模式只能设置一个阈值来判断逻辑读是否异常,这个值往往会设置的不准。因此我们会考虑采取一种新的方式来设置这个告警规则。