当前位置: 首页 > 科技观察

D-SMART如何利用数据库的可观测性能力的

时间:2023-03-12 04:02:31 科技观察

D-SMART如何使用数据库的可观察能力昨天发了一篇关于数据库可观察性的文章,讲了可观察性和监控的区别。在运维领域,监控是一个很强的需求。无论如何,如果您的数据库正在运行一些有价值的业务应用程序,您就必须监视该数据库。但是,并不总是需要可观察性。如果检查完成后发现的问题不能解决,那么检查就成了假的。可观察性也是如此。在平时,一些小问题是不会让人兴奋的。但是,当系统出现比较大的问题,造成了一些严重的后果时,IT部门发现,我们需要对一些日常发现的小问题进行闭环管理,做到防患于未然。其实,防患于未然说起来容易,做起来却极其困难,因为这背后有巨大的成本。只有实现常态化系统优化的企业,才能真正做到闭环管理,防患于未然。对于大多数运维资金有限的企业来说,只能向领导表达意见而不能实际执行。D-SMART是建立在数据库可观测能力基础上的深度运维工具。在研发之初,我们希望充分利用数据库的可观察性能力,尽可能将数据库系统数字化。因此,我们为每个数据库收集了数百个指标和配置项。几年前跟一个客户说,我们的系统从上百个数据库中收集了指标和配置项,他摇头。我们不需要那么多指标,只要有几个指标我们可以监控就可以了。太多了,我们看不到。其实D-SMART并没有收集那么多数据给你看。运维监控人员只能关注少数几个指标。D-SMART的大部分指标是用来分析的,不是用来监控的。如果要监控,只需要查看“健康模型”或监控主界面上的关键指标即可。D-SMART根据数据库运维专家多年积累的经验,收集了数百项指标。这些指标来自数据库系统状态、METRIC、等待事件、日志、TOPSQL、跟踪数据等。为了减少D-SMART采集对数据库的影响,这些采集采用最小开销的方式,从一次系统查看,然后在D-SMART上处理。数据收集已经包含了很多专家的经验,比如Oracle数据库的表空间使用率。事实上,收集这些数据需要对数据库进行全数据库扫描。如果系统比较大,IO性能差,系统繁忙,这个集合对数据库影响很大。我们之前也遇到过一个客户的数据库超融合一体机故障,因为他们的一体机管理软件的表空间使用量采集是分钟级的,一次采集需要30分钟完成,大量采集任务积压导致一体机IO链路故障,导致宕机。在D-SMART中,每4小时或每天收集一次表空间使用情况。当上一次采集未完成时,不会发起新的采集,避免在某些极端情况下运维监控导致数据库故障。问题。在系统的指标体系中,使用了一些“风险”和“可用天数”指标来真实反映系统的风险,这些指标是通过分析计算得出的。从另一个例子中,我们可以看出D-SMART在监控指标设计方面专家经验的特点。很多监控软件在收集sharedpool信息的时候,喜欢收集一些X$view数据来展示。其实X$视图就是Oracle数据库的内存结构,收集数据的时候需要加一个latch。如果数据库系统的共享池出现问题,这个集合很可能是压在骆驼身上的最后一根稻草。不久前,我们的一位商业用户报告说他们的共享池性能存在问题。他们使用我们的一种共享池分析工具来分析共享池的碎片。没想到触发了bug,报了ORA-600错误。确实,当共享池出现问题时,如果访问那些X$视图来查看共享池,很容易触发一些bug,严重时会导致实例宕机。为了能够及时发现共享池存在的问题,避免对共享池造成过多的干扰,我们采用上述部分指标对共享池可能存在的风险进行综合评估。如您所见,这些指示器不需要向共享池添加闩锁。这种设计的背后是一群老司机的经验。只有拥有强大的指标体系,才能充分发挥数据库的可观测能力。基于如此丰富的指标数据,我们可以实现各种深度的运维能力。例如,我们提供给系统监控器的工具有“健康模型”、“等待事件实时分析工具”、“等待事件历史分析工具”、“问题分析工具”(用于分析各种可能出现的问题)存在于系统一段时间))、《运维体验告警》、《TOPSQL分析工具》、《SQL审计工具》、《关键SQL跟踪分析工具》、《容量分析工具》、《集群》拓扑查看工具”、“日检、月检、专检审计工具”等一系列运维工具。运维人员不需要盯着指标看,甚至不需要盯着D-SMART看。可以连接短信报警、微信报警、邮件报警,收到报警信息后查看系统。充分利用数据库的可观察性,可以做很多事情。专家可以直接看数据,也可以利用数据库提供的工具(WDR/AWR/ASH等报告),收集并存储起来,在出现问题时进行回溯分析。其实,D-SMART发布社区版的想法是来自于一个合作伙伴的请求。当时我们的一个合作伙伴提出,有几十个客户,没多少钱,希望有问题可以派专家到现场分析。我们计算过,如果专家去现场,每年多出几个问题就亏了。所以我问是否可以远程分析,但大多数客户不允许连接VPN进行分析。所以我们建议使用d-smart辅助。我测试了一两个客户,发现效果还不错。当用户出现问题时,D-SMART生成多份报告并远程分析,问题基本得到解决。但是让这些用户去买一套D-SMART,用户买不起,怎么办?经过多次讨论,我们想出了一个办法,发布D-SMART社区版。利用社区版每天收集的数据,在需要提供服务时,可以生成远程分析所需的报表。