您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[灵迹软件]:拓展监测支柱打造先进可观测能力最佳实践白皮书 - 发现报告
当前位置:首页/其他报告/报告详情/

拓展监测支柱打造先进可观测能力最佳实践白皮书

2023-07-15-灵迹软件s***
拓展监测支柱打造先进可观测能力最佳实践白皮书

拓展监测支柱打造先进可观测能力 最佳实践 ©2021Dynatrace 概述 对软件而言,可观测能力(即远程监测技术)指的是采集应用服务所产生 的各种测量数据。从传统角度讲,可观测能力一直由三大关键支柱所决 定——指标、分布式跟踪及日志——即所谓的“可观测能力三大支柱”。得益于OpenTelemetry之类的项目推动了数据采集的标准化,再加上W3C跟踪背景信息,自带远程监测即将成为云原生软件不可或缺的特性。 Dynatrace认为,指标、跟踪及日志是打造货真价实的可观测能力的起点,但其中缺失了若干关键要素,例如用户体验和拓扑结构背景信息。可观测能力需要与最终目标通盘考虑;提供全栈背景信息以便能够持续、自动地给出基于因果 关系的精准解答。我们将此称为先进可观测能力。 Sonja是Dynatrace的技术产品经理。她负责OneAgentSDK、分布式跟踪以及开放可观测能力应用场景。她还负责性能工程专题。您可以在Twitter上关注她@SonjaChevre 可观测能力的三大支柱—可持续、自动地采集,无需更改代码 跟踪 指标 日志 有了Dynatrace,您只需安装一种代理——代理的名字就叫OneAgent——就可以在每台被监测的主机上采集所有相关的高保真数据,同时带有背景信息。Dynatrace的OneAgent能够自动发现主机上运行的所有进程,其中包括容器内运行的动态微服务。OneAgent还能基于它所发现的一切自动激活专门针对您技术栈的插装。对新组件的插装是持续、实时、自动的,既不用更改代码,也无需手工配置。这意味着应用将自动具备可观测能力,您可以实时获取远程监测数据。 传统意义上的可观测能力三大支柱 指标 作为全栈式监测平台,Dynatrace能对您环境中每一台由OneAgent监测的主机采集大量的指标。每个计算节点采集的指标数量一般约为500个,具体数量取决于您主机上运行的技术种类。 除源自您主机的所有指标外,Dynatrace还能针对服务和被监测应用的真实用户采集所有的重要关键性能指标,以及来自AWS、Azure、Kubernetes、VMware Tanzu(前身为Pivotal)之类的云平台的指标。总之,这些数以千计的指标不仅可供我们的人工智能引擎Davis使用,还能在Dynatrace中用于绘图、分析并发出警报。 分布式跟踪 在微服务环境中,您会有数十个乃至数百个服务正在调用其他的服务。分布式跟踪能够弄清所有这些不同的服务如何相互衔接、您的请求如何经由它们。Dynatrace可通过分布式跟踪自动生成服务流。 分布式跟踪从一开始就是Dynatrace的核心组件,您不必更改任何代码。我们拥有专利的分布式跟踪技术Dynatrace PurePath更是技高一筹,既能采集跟踪信息,又能采集代码级数据。分布式跟踪扩大到代码级执行树,其中包括CPU时间、挂起时间及网络I/O时间等有用信息。 分布式跟踪有助于迅速(在我们看来几乎是立刻)定位导致问题的服务。但分布式跟踪在深入到代码以获取更多细节方面却无能为力。为此,您需要OneAgent的代码级可视化和CPU剖析功能。OneAgent还能采集有关背景和服务活动的信息,可用于CPU分析和方法热点分析。所有这些都由OneAgent自动完成插装,这意味着不需要在插装和配置上花费时间。 随着分布式跟踪日益普及,行业和社区有必要对它的某些方面进行标准化。为此我们也在W3C分布式跟踪工作组中主导着此项工作。 日志 OneAgent可自动发现日志文件并将它们纳入相应的主机或进程的背景信息之中,无需手工配置。所有被发现的日志文件在相应的进程组/进程或主机概览页面中列出。 有关详细信息请见日志发现及支持的日志格式。 您可以跨多个被监测的日志查找文本模式,也可以基于这些文本模式出现的位置查找警报。 第四个支柱:从真实用户的角度进行前端监测 尽管人们提到可观测能力时倾向于以后台服务为主,但在客户端(浏览器、移动应用或任何客户应用)开启跟踪具有极大的实用价值,不仅能拉取与用体验有关的各种指标,还能从日志中提取用户数据。 Dynatrace数字化体验监测(DEM)可自动采集始于真实用户的完整会话信息,为您提供客户体验的全方位可视化,涵盖所有的数字化接触点。如果在先进可观测能力定义中不加入上述“用户体验”这一支柱,一旦涉及到HTTP和Javascript错误、来自用户视角的应用及第三方服务的性能时,您就会发现与此有关的背景信息缺失。您还会遇到应用对业务层面关键绩效指标所产生影响的盲区,例如收入、转化率及客户参与度。 如果您将先进可观测能力定义为以给出精准解答为目的、让您需要采取的措施具有可操作性和规范性,那么了解用户和业务所受到的影响对于做出正确的决策至关重要。 避免出现数据孤岛:背景信息是关键 采集可观测性数据固然正确,如果这种操作能像OneAgent那样自动进行,不需要更改代码或者繁琐笨拙的手工配置,不必占用您早已捉襟见肘的人力资源,那就会更加完美。 但在绝大多数情况下,指标、跟踪信息、日志及用户体验都按照数据孤岛的方式进行处理,它们之间没有关联,漫无目的地汇总在一起,无法给出任何答案。采集这些彼此无关的数据并提供报告的出发点是什么?如果不能获取这些可观测能力支柱之间的相互依赖关系和背景信息,就只能分别对指标、跟踪信息、日志及用户体验进行分析,这对于瞬息万变、错综复杂环境中的问题根源分析而言是毫无意义的。 在存在数据孤岛的情况下,您有可能会收到服务A故障率增加的警报,随后是进程B的CPU使用率上升的警报。但您并不清楚这两个警报是否存在因果关系、会对您的用户造成怎样的影响。要想做更深入的分析,您就得在记录该问题的海量信息中查找为数不多的线索。这是件极其困难的事,犹如大海捞针。此外,由于您的环境在规模和复杂程度上有增无减,您将很难持续做到这一点。 通过背景信息将数据孤岛关联在一起的秘诀? 要想获得精准的解答,就要为可观测能力扩充实时拓扑发现和依赖关系映射功 跟踪 指标 UX 日志 能。Dynatrace可通过Smartscape持续、自动地将数据映射到实时的依赖关系图中,显示所有实体的相互关系和依赖性,其中既有纵向的上下层级之间,也有横向的服务、进程及主机之间。所有采集到的跟踪信息、指标、日志文件及用户体验数据点均自动映射到与它们相关的被监测实体。 先进的可观测能力 ©2021Dynatrace6 calls calls Application Node.jsMicroservice Golangservice runson Microservicecluster Webservercluster Golangprocess Dockercontainer Hosts PivotalPlatform Host 通过自动分析各个组件之间的依赖关 系,Dynatrace不仅能判定某个出现问题的服务是否为问题的根源所在,还能识别该服务与在您的数据中心内部不同进程组运行的其他服务之间的依赖关系。在左侧的示例中,Dynatrace的人工智能引擎Davis自动跟踪并评估交易中的每个相关后台服务的健康状况,并立即发现问题的根源在于Golang服务。 因此,Dynatrace人工智能引擎在问题详情页的问题根源部分给出了Golang服务的整个纵向技术栈,并突出显示了所有的相关数据。只需点击一次,您就可以深入了解受影响的指标、跟踪信息、日志文件及用户体验,可供您分析并修复问题。 先进可观测能力能让您弄清有可能是哪些方面出了问题,这是一个巨大的转变。但各种未知情况可能会让您的业务毁于一旦。它们是尚未被发现、了解并监测的意想不到的问题。由于Dynatrace特有的架构方式,它可以自动监测您环境中的未知情况。我们的平台能够自动插装、采集高保真数据,提供实时的全栈依赖关系图,给出即时、精准的人工智能辅助解答,而不仅仅是相关性分析。通过拓展先进可观测能力的监测支柱和需求,您最终可以获得精准的解决之道,并藉此采取应对措施、大幅提升业务成效。 ©2021Dynatrace7 关于Dynatrace Dynatrace的软件智能可以让云计算化繁为简、加快企业数字化转型。依托各种规模的自动化和智能化可观测能力,Dynatrace一体化平台可提供有关应用的性能与安全、底层基础设施以及所有用户体验的精准解答,让组织能够在加快创新、高效协作、实现更多价值的同时大幅减少工作量。Dynatrace®因此深受众多全球顶尖企业的信赖,并帮助这些企业实现云运营的现代化和自动化、又快又好地推出软件、提供无与伦比的数字化体验。 dynatrace.comblog@dynatrace 11.18.2114998_WP_CHN_cs