关于程序员:GaussDBDWS数据库智能监控系统应用场景分析

6次阅读

共计 2961 个字符,预计需要花费 8 分钟才能阅读完成。

   与互联网产品的立项模式相似,当咱们定义设计一款新产品时,首先须要对用户做需要剖析,演绎整顿综合剖析用户的需要,定义咱们的产品定位,性能,业务逻辑,应用界面等等。因而,为了设计好数据库智能监控零碎,咱们须要对数据库监控零碎的指标用户做需要剖析,收集用户诉求,开掘用户潜在需要,绘制典型用户画像。最初,设计数据库监控零碎的实现架构,将典型用户的各种需要纳入到产品的设计架构管道中。

数据库智能监控零碎的用户

    理论利用场景中,数据库监控零碎的用户可能会有很多种不同的角色。不同公司因为组织架构不同,可能存在更细分或者更聚合的用户角色。然而总的来说能够演绎整顿为如下三种用户类型:

利用开发(APP DEV)
运维工程师(SRE)
数据库管理员(DBA)

image.png

利用开发工程师角色:次要负责开发云利用中的业务 SQL,对云服务的性能和性能负责。同时须要保障写出的 SQL 高效优质,不会对集群造成额定的资源耗费和工夫耗费。因而,利用开发工程师,须要可能对新开发的 SQL 进行监控,理解该新增查问语句的执行效率以及资源耗费状况。

运维工程师角色:次要负责保障数据库集群的长期稳固运行。须要别离从资源耗费和零碎负载两个角度对数据库系统进行评估。须要可能配置数据库的告警场景,并且能够看到实时或预测的数据库告警信息,将发现的问题报告给数据库管理员角色做进一步解决。总的来说,运维工程师角色会监控大量的数据库集群,他不会对每一个集群做十分深刻的剖析,而是更多的会以问题发现者的角色呈现。

数据库管理员角色:次要负责定位数据库问题的根因并且提供相应的解决方案。数据库管理员须要是数据库畛域的专家,相熟数据库的方方面面,他能够从多个维度剖析数据库监控数据,定位数据库故障,并提供解决方案。

    须要阐明的是,以上三种角色并不是指理论生产环境中的岗位,而是为了不便剖析用户需要而演绎总结进去的典型角色符号。理论生产环境中,可能呈现三种角色为同一个人的场景,或者 SRE 岗位会身兼 SRE 与 DBA 角色的场景。咱们这里将用户辨别为三种角色,次要是为了不便咱们做需要剖析并且构建对应的人物画像,从而进一步锁定对应角色人物所须要的工具。最终,出现给大家一个思路清晰的数据库监控零碎开发概念脉络。

数据库智能监控零碎工具及利用场景

    通过下面的形象和梳理,咱们发现在数据库监控运维过程中三种角色别离对应着不同的需要,而不同的需要必将导致不同工具或者同一个工具的不同侧重点。上面咱们围绕三种角色,别离开展具体介绍其将要用到的工具:

利用开发角色,他们只关怀本人写的 SQL 是否高效,是否有利用到集群的各种优化个性,是否占用了集群的过多资源?因而,他须要一个可能让他评估其所写 SQL 执行效率的工具,也就是 WebSQL 工具,容许用户简略的连贯到数据库,并且执行 SQL 语句。WebSQL 能够返回 SQL 语句的执行后果,也能够返回其执行打算,帮忙利用开发角色,理解其 SQL 语句的执行效率。同时,用户的 SQL 语句并不是简略的单条语句执行的,而是须要将其放在整个作业流中去执行的。那么掂量其在作业流中的执行工夫和资源耗费的基线就变得十分重要。因而,咱们就须要查问监控能够针对个性的 SQL 记录其执行工夫和资源的耗费,并且计算最大值,最小值和平均值,作为比对基线,来进一步帮忙用户评估其 SQL 的执行效率。在用户现场,因为资源隔离需要,用户的作业是须要绑定到某个工作负载队列执行的,那么工作敷在队里的资源配置,以及工作负载队列的负载程度等数据又变得十分重要,新加的 SQL 语句是否会造成工作负载队列的超载?当前工作敷在队列的资源是否正当,这个都须要利用开发角色在新开发的利用上线前有个直观的理解。

零碎运维角色角色(SRE),他们关怀云上数量宏大的数据库系统的长稳运行,基于这个需要,咱们打算提供三个方面的工具来解决问题。

    衰弱指数指标,该指标是一个复合指标,该指标次要由两方面的指标撑持,资源耗费指数和数据库系统负载指数。而这两种指标又有其更下一层的原子指标和延长指标撑持。集群衰弱指数的计算须要设计一套相应的数学模型,以该模型为根底咱们就可量化零碎的衰弱指数,从而能够使系统管理员非常简单的从云上数以百计的数据库中疾速发现有问题的数据库。除了衰弱指数这样须要系统管理员亲自去查看的被动指标以外,DMS 还会进一步提供笼罩全面的告警能力。DMS 将从三个档次上提供数据库的告警能力,(1)在 dms-agent 端,通过日志剖析的伎俩,实时剖析 dms-agent 所处节点上,操作系统以及数据库的日志,当发现威逼关键词后,立即触发告警,通过相应渠道上报到告警平台;(2)在 DMS 服务端,因为 DMS 领有数据库集群的全副监控数据,通过数据分析伎俩和数据库专业知识,咱们将能设计相应的告警规定,周期性的对数据库集群做查看,发现问题后间接触发告警;(3)对于 DMS 采集的数据库集群指标数据,可能作为阈值告警的指标,全副对接 CES,通过 CES 服务做阈值告警。以上三种告警的配置和展现都须要在 DMS 的前端页面上出现。人工智能与云计算有的人造的分割,当数据库上云后,人工智能与数据库运维的穿插节点 AIOps 就牵强附会的呈现了。因为 DMS 领有数据集群的全副监控数据,因而应用历史监控数据对集群的工作模式做判断,举荐最优化的配置参数;对数据库磁盘的空间增长趋势做预测,提前告诉用户扩容或运维需要等等。在人工智能的加持下这所有都变成为可能。

数据库管理员角色(DBA),数据库管理员始终都是数据库的大管家,在传统的数据中心里,他们负责数据库的性能优化,也负责数据库的长稳运行,有时候甚至也要帮忙利用开发工程师优化 SQL。然而在云时代,数据库管理员的工作分工会变得更精密,利用开发和系统管理员分担了数据库治理的一部分工作,从而使得数据库管理员角色职责变的更纯正。数据库管理员作为一个数据库畛域的专家,他将负责定位数据库问题的根因,以及提供解决问题的办法。系统管理员 + 数据库管理员两个角色最终就造成了发现问题,剖析问题,解决问题的工作闭环。因而,在云上,SRE 岗位往往会蕴含 SRE+DBA 两个角色的职责。

    DBA 是一个数据库专家,也是一个应用数据库工具定位各种数据库问题的巨匠。针对问题根因定位,他将须要故障剖析工具和故障自愈工具两类工具。其中,故障剖析工具,将会提供各种监控数据和数据的不同可视化模式,为数据库管理员疾速定位问题根因提供帮忙。故障自愈类工具,则是将数据库管理员过来定位问题,解决问题教训的固化。将来随着咱们对 DBA 工作办法的进一步理解,将会有越来越多的自愈类工具。数据库管理员另一类重要的职责就是提供故障的解决方案,这一块是运维零碎十分重要的一环。再好的故障定位工具,定位到的问题,如果最初没有解决方案,那么最终还是不能真正帮忙到用户。因而,咱们须要建设一套问题根因 - 解决方案的业余搜索引擎,帮忙用户也是帮忙咱们减速解决问题的流程,缓解一线客户反对工作人员的工作强度。本文是介绍云上的数据库监控运维体系设计的外围概念的三篇文章之二,尝试从概念和逻辑上推导了基于用户角色的数据库智能监控零碎的可能利用场景。有了这个根本框架,则咱们后续所须要做的工作和工具都变得清晰可见。愿咱们的期待早日成为显示,让云端的数据库运维工作变得更轻松与智能。
正文完
 0