了解可观测性指标:类型、黄金信号和最佳实践

可观察性指标能够为应用程序、系统和基础架构的性能、行为和健康状况提供见解,从而实现可可观测性实践,即通过检查系统数据来了解系统的内部状态。随着组织不断收集越来越多的数据,可观测性指标已成为可观测性的关键遥测信号。
在现代应用程序开发中,可观测性是指从各种来源收集和分析遥测数据(日志、指标和跟踪),以便详细了解环境中运行的应用程序的行为。可观测性指标是帮助企业了解其运营情况并创建主动监测流程的遥测信号。
通过利用可观测性指标,企业可以全面了解其技术堆栈的性能,从而改善问题诊断并缩短解决时间。如果能够有效利用,可观测性指标可以提供有价值的业务见解,从而推动增长,使企业能够专注于创新。
可观测性的三大支柱
可观测性的基础通常由三大支柱构成:指标、日志和跟踪。它们共同提供了对系统性能和行为的基本可见性。随着技术的不断进步和可观测性需求的增加,第四个支柱正在浮现:配置文件。
指标
指标是从硬件、软件和网站中收集的原始数据点。在测量已知因素时,指标用于监测资源使用情况、性能和用户行为。换句话说,指标告诉监测和可观测性团队他们的系统中正在发生什么。
核心可观测性指标类型
可观测性是一种让企业能够 360 度全面了解其环境和运营情况的做法。要做到这一点,可观测性依赖于以下这些核心指标类型:
应用程序指标:应用程序指标是由技术堆栈中的应用程序生成并与之相关的遥测数据。一些常用指标示例包括响应时间、吞吐量、请求率和错误计数。这些指标使工程师能够监测应用程序的性能和可用性。应用程序指标也用于应用程序性能监测 (APM)。
系统指标:系统指标(也称为基础架构指标)反映了硬件和操作系统(包括Kubernetes等关键组件)的运行状况。示例包括 CPU 利用率、磁盘 I/O、网络吞吐量、内存使用情况、实例运行时间、容器资源利用率和服务可用性。这些指标提供了深入了解云资源、虚拟机、容器和其他底层组件性能的见解。
业务指标:业务指标将技术和运营绩效与业务成果联系起来。例如,转化率、平均交易价值和用户留存率等指标有助于将系统性能与组织目标关联起来。
有效的可观测性解决方案可确保可靠性、有效的资源分配、合规性和安全。它还有助于规划容量、优化性能、改善用户体验和控制成本。核心指标可实现有效的可观测性,并最终实现数据驱动决策,从而转化为更好的业务成果。这些指标通常会被汇总并可视化在仪表板上,以实现实时性能监控。
日志
日志是系统、应用程序、网络和基础架构生成的特定事件的带时间戳的条目。它们提供事件详细信息和上下文,帮助工程师了解问题发生的原因。
网络设备、应用程序、操作系统、物联网设备和第三方应用程序会发出不同类型的日志,包括(但不限于):
系统日志:包括连接尝试、错误和配置更改等事件。
应用程序日志:它们记录软件更改、CRUD 操作、应用程序身份验证和其他事件,以帮助诊断问题。
网络日志:网络日志记录网络或设备上发生的事件的数据,包括网络流量、安全事件和用户活动。
日志以结构化和非结构化格式记录,这给存储带来了挑战。由于日志数据通常分散在各种系统中,且无法自动关联,因此很难进行分类。
跟踪
追踪是一种遥测信号,可帮助工程师从用户会话的角度查看应用程序和服务。分布式追踪收集在分布式架构中发出的请求的追踪信息。
追踪使工程师能够监测和对应用程序进行故障排查,发现瓶颈。换句话说,追踪可以告诉 DevOps 团队其环境中发生问题的位置。它们是主动监测的基础。通过分析跟踪,工程师可以发现哪些指标或日志与特定问题相关,从而减少未来的问题。
例如,有助于识别缓慢进程的跟踪包括 API 查询、前端 API 流量、服务器到服务器的工作负载,以及内部 API 调用。
虽然指标、日志和跟踪可为用户提供了有价值的应用程序和系统性能数据,但这些信号并不总能提供故障排除代码和性能优化所需的详细信息。这就是配置文件发挥作用的地方。
概况
分析是收集和分析配置文件——有助于识别与内核和用户级别的数据结构、代码可见性和内存分配相关问题的堆栈跟踪。
分析有助于在代码层面发现整个系统的瓶颈,这是现代可观测性的另一个关键优势。OpenTelemetry 也将分析作为一种信号。因此,分析正在成为可观测性的第四大支柱,也是最新的支柱。
关键可观测性指标:SRE 团队的四个黄金信号
虽然每个组织的监测需求各不相同,但某些可观测性指标却具有普遍的重要性。这些指标有时被称为网站可靠性工程 (SRE) 社区中的“四大黄金信号”。
延迟
延迟衡量的是数据从一个点传输到另一个点所需的时间。延迟预示着潜在的性能问题。高延迟会增加加载时间,导致应用程序错误并挑战用户期望,从而降低用户体验。
流量
流量指标跟踪应用程序处理的请求或事务的数量。它们帮助团队了解用户行为并预测扩展需求。
错误
错误指标可让您了解失败的请求或操作。监测错误率并确定模式有助于解决反复出现的问题。
饱和度
饱和度指标表明系统在多大程度上接近其容量极限。监测资源利用率可确保工程师能够在瓶颈影响性能之前主动解决瓶颈问题。
这四个黄金信号对于有效的可观测性实践至关重要,因为它们提供了对 IT 系统健康状况和性能的见解。通过监测、关联和分析,这些指标可帮助 IT 团队获取可操作的见解,使他们能够在网站可靠性和性能监测方面采取更积极主动的态度。
实施可观测性指标的最佳实践
实施可观测性指标的主要挑战在于如何从大量噪声中筛选出有用信息——许多信号会产生大量遥测数据,但并非所有数据都有用。此外,SRE 还经常会遇到数据异构性问题。如何关联不同类型的异构数据,以便更轻松地进行故障排除?
从这些挑战中,我们可以建立一些实施可观测性指标的最佳实践。
明确目标:成功实施可观测性指标并应对数据过载,首先要确立目标。要明确这些目标,首先要问问自己,需要指标传达什么信息。您无需监测所有内容;只需监测对组织和系统重要的内容即可。
使用开放标准来检测您的应用程序:检测是从应用程序生成和收集遥测数据的过程。为了避免在检测应用程序时被供应商锁定,请考虑使用与供应商无关的框架,例如 OpenTelemetry (OTel)。OTel 提供了一个标准化框架,使您能够从多个来源收集和比较遥测数据。
利用自动化:自动化数据收集、分析和告警,以减少人工工作并缩短响应时间。
自定义可视化:为了实现您设定的目标,最好自定义仪表板。默认仪表板仅在一定程度上有用——自定义可视化环境的方式是成功实现可观测性的关键。
使用 Elastic 实现 Observability 指标
Elastic Observability 为收集、监测和分析整个技术堆栈中的可观测性指标提供了统一的解决方案。借助 Elastic Observability,您可以从任何来源收集、存储和可视化可观测性指标,并通过我们的 Search AI Platform 加快问题解决速度。
Elastic Observability 通过基于搜索的相关性、无损害的数据保留、改进的运营效率和成本,以及面向未来的投资,来防止服务中断并加速问题解决。借助开放且以 OTel 优先的解决方案,可从最广泛的数据源中快速获取上下文丰富且统一的见解,并且该解决方案能与您不断发展的技术生态系统无缝集成。
了解有关 Elastic 可观测性的更多信息。
本文中描述的任何功能或功能性的发布和时间均由 Elastic 自行决定。当前尚未发布的任何功能或功能性可能无法按时提供或根本无法提供。