这篇文章的另一个版本之前已经发布过了网络日报

虽然监视仅限于在IT系统中发生异常时通知您,但可观察性使您能够理解为什么它发生,如何您的系统行为。

许多最新的技术和实践允许软件团队更频繁、更有效地部署他们的产品代码,包括微服务、云、容器、无服务器、DevOps、SRE和基础设施即代码。收益是真实的,但是这些方法也引入了更高程度的复杂性、易变性和软件体系结构的碎片化,特别是当涉及到确保可用性、质量、性能和最终用户体验时。

可观察性通过重新思考监控技术并使其适应新的技术范式来解决这些新挑战。通过在一个地方为您提供所有软件遥测数据的完全连接视图,实时可观测性使您能够主动掌握您的数字架构的性能,加速创新和软件速度,并减少工作量和运营成本。它还能促进更深入和共享的见解,提高透明度和企业文化,促进增长。

可观测性远远超出了监测范围

简单地说,可观察性是理解复杂软件系统的一种方法。而成功的观测实践的核心是收集、可视化和详尽分析遥测数据的能力。而监视仅限于简单地通知您一个预定义的异常发生了,可观测性帮助您理解为什么。这使团队能够在紧急情况下更快速、更有效地作出反应,或者持续改进长期应用程序性能。可观测性需要整合三个基本要素:

  • 收集详尽和粒状的遥测数据
  • 关联和上下文化数据
  • 将数据可视化并使其可行

彻底和粒状遥测的完整和开放仪器

现代的可观测性必须对微服务体系结构的复杂性、软件部署频率的增加以及云基础设施和容器的抽象性和波动性做出响应。为此,您需要安装整个架构、全栈、端到端,换句话说,从您的基础设施、虚拟机、容器、Kubernetes集群、中间件和软件收集和聚合遥测数据,无论这些数据是托管在云中还是本地部署中。您还将直接从浏览器或移动应用程序收集遥测数据,以描述用户体验,甚至业务事件和属性,以便团队能够充分理解应用程序和业务性能之间的联系。

在这一综合的系统实体中,现代可观测性包括四个主要的互补遥测类:度量、事件、日志和跟踪(M.E.L.T.)。通过将优化的专有代理的遥测技术与开源工具的遥测技术相补充,它确保了详尽和开放的收集普罗米修斯,Telegraf,StatsD,DropWizard,测微计为指标,JaegerZipkin痕迹,Fluentd,流利一些,或Logstash用于收集、过滤和导出日志。通过自动识别、创建和维护实体,以及它们之间的连接,现代的可观测性保证了所有类型的数据和遥测技术的互操作性,无论其来源是什么。

连接、语境化和管理

如果你不能从中获得见解,那么数据聚合就毫无意义。您必须能够实时分析遥测数据,以建立产生这些数据的实体和这些实体之间逻辑连接的心理模型,使用元数据建立准确的关联或连接,并生成分析维度。这样就可以通过显示微服务依赖关系的动态服务映射或Kubernetes集群(及其节点、pods、容器和应用程序)来可视化和理解复杂的动态系统。元数据是主要由遥测自动生成代理,但你的团队也可能选择插入的元数据丰富的上下文或维度数据,(例如,一个应用程序的名称,版本,其部署区域,甚至商业属性如篮子价值,忠诚类,产品命名,和事务位置)。

数据管理是尽可能快速有效地显示关键信息和见解的关键。它是通过精心设计的可视化和优化的工作流程来实施的,这是由数千名最佳实践领导者和世界级专家积累的经验和专门知识造成的。它帮助以一种明显的方式立即显示最重要的运行状况和性能信号。“管理”为SRE或DevOps开发人员提供了一种固执的、简单的、有效的体验,这使得通过达到“为什么”数据背后的速度快得多。

将遥测数据集中在一个平台上,还可以将复杂的人工智能算法应用于非常大的数据量,并检测行为模式、异常和相关性,否则人工操作人员就无法处理这些问题。这些人工智能技术可以在事件发生时提供早期自动检测,将事件关联在一起,并确定可能的根本原因,以及提供上下文信息和建议的丰富诊断。这是Gartner公司命名的一个相对较新的领域AIOps,极大地提高了DevOps团队更快地预测和解决问题的能力,并显著地减少了警报疲劳。

可见性、可操作性和可编程性

可观察性的基础是通过仪表板提供数据可视性和可理解性,并通过警报和响应工作流使数据更具可操作性。可编程性将其带到了下一个层次。

您的团队定义的警报,或人工智能确保的主动异常检测,自动通知您服务体系结构中的条件违反或事件,大大减少了检测的平均时间。然后,您可以定义在收到事件通知后执行的工作流,以加速或自动化事件补救和解决,从而减少解决问题的平均时间。

仪表板是灵活和强大的工具,结合即时和可定制的可视化与多维分析。仪表板允许您协调软件遥测与贸易和业务数据,并使精确的系统和业务性能实时管理。仪表板也应该跨组织边界共享,允许团队预测问题并优化性能。

由于每个公司的业务、流程和指标具有巨大的多样性,因此真正需要的不是仪表板,而是让公司能够构建满足其独特业务目标的应用程序。我们称之为能力可编程性。可观察性平台的可编程性使您可以自由地构建自己的数据表示和组合,并引入其他更复杂的交互和处理形式。通过尽可能地坚持其特定的需求,可编程性允许组织优化其软件投资,实时测量其效率,并做出客观的决策,使性能最大化。

数字化转型极大地提高了人们对团队创新速度更快的期望,结果是,公司开始用软件进攻,以确保差异化的最终用户体验。随着团队采用了DevOps实践、现代架构和部署方法,传统的监控中断了。对于企业来说,要实现并保持最佳的速度和性能,在竞争中脱颖而出,满足客户和用户不断增长的期望,可观测性是必不可少的。

现代可观察性的命令性

  • 开放:实时收集并关联所有遥测数据(指标、事件、日志和跟踪)
  • 连接:利用丰富的分析和精心策划的用户体验,让您的团队能够快速定位和解决整个堆栈中的问题
  • 智能:将人工智能应用于自动问题检测和诊断
  • 视觉:仪表板为团队提供了一个通用的基础,用于分析问题发生的原因,并快速识别、隔离和解决它们
  • 可编程:构建应用程序来优化您的软件投资,实时度量效率,并做出客观的决定来最大化性能

阅读更多关于未来的原因开放、连接和可编程

Gregory Ouillon是New Relic的EMEA CTO。他支持整个地区的客户采用现代技术并进行数字化转换,利用可观察性。作为技术领导者,Greg拥有丰富的经验,将新技术转化为全球服务,开发高科技创新,并将其转化为有利可图的业务。格雷格是法国人,现居瑞士日内瓦。查看贴子

有兴趣为New Relic博客写作吗?亚搏体育登入网给我们一个推介!