什么是可观测性?可观测性成功指南

译文 2024-10-12 10:13:08

什么是可观测性?可观测性是一种观察和理解系统的方法,以便您预测和预防未来的问题。此方法可让您更好地了解企业的​数据。它有助于根据外部输出的知识确定系统的状态。

实施可观察性使 IT 团队能够找到有关系统运行状况的可行见解,并了解是否存在某些问题。这样,他们就可以在问题变得更大之前解决这些问题。

随着IT系统的架构变得越来越复杂,手动故障排除已经不够高效,因此我们利用可观测性来满足测量其内部状态的需求。

可观察性从哪里开始,为什么它很重要以及它是如何运作的?我们将在本文中将其全部分解。

本文要点:

  • 1.什么是可观察性:一种监视系统性能、了解系统状态的方法。
  • 2.为什么可观察性很重要:因为它可以帮助您预测潜在的问题。
  • 3.可观察性的好处:更好地控制数据,帮助分布式跟踪,帮助监控数据趋势等。
  • 4.如何实现可观察性:首先确定您的目标以及所有 DevOps 和其他团队的需求。
  • 5.可观察性工具:要选择最佳的可观察性工具,应选择灵活、易于使用并减少额外成本的工具。

可观测性(Observability)

什么是可观测性?

可观察性被定义为一个概念、一个目标和方向,它将帮助您的组织从您可以收集的数据中获得最大的洞察力。它可以帮助公司诊断性能问题并在问题变得更加严重之前解决问题。

应用程序和系统通常包含部署在跨多个云和本地环境的容器中的数十个微服务。数据采集变得越来越困难,让我们更难以了解系统和应用程序在现实世界中的执行方式。

不存在一刀切的可观测性解决方案,因为您的公司所需的与其他公司的需求非常不同。每个组织都有自己的方法和要求。

IT 和安全团队可以询问系统行为,而不受传统方法和产品的限制。此外,它还提供了更多的控制来利用所需的可见性。

可观测性示例

当您去办公室时,您将使用您的徽章进入。当您扫描徽章时,系统会生成数据,例如您的姓名、您进入的时间、您使用的入口。每个进入建筑物的人都会生成日志数据。要收集、减少和清理所有数据,然后将有价值的信息发送到您的分析工具,您需要一个工具,例如Cribl Stream(本文作者的公司产品)。这是可观察系统的一个例子。

监控和可观察性有什么区别?

可观察性和监控之间的区别始于数据。

监控涉及预配置的仪表板,旨在通知您预期的性能问题,从而预见可能面临的问题类型。监控工具旨在回答已知问题。 另一方面,可观察性为我们提供了发现不同类型的当前或可能问题的信息。它可以回答意想不到的问题。

monitoring-vs-observability

译者注:很多资料都宣传说可观测性可以回答未知的未知,这显然有个前提是可观测性平台得收集到足够多的数据,并结构化,数据太多又会有成本问题,所以就需要专家见解来看哪些数据真正重要,哪些数据不那么重要可以丢弃,但是一旦植入专家经验,那么就不再是未知的未知了。感觉无解啊。

为什么可观察性很重要?

可观察性通过指标、日志和链路追踪来跟踪分布式 IT 系统的性能。它为团队提供了洞察力,以及确定问题根本原因的渠道。

此外,可观察性使数据工程团队能够识别环境中的意外信号(也称为“未知的未知因素”),从而防止未来出现问题并提高系统性能。

总之,可观察性很重要,因为它使团体能够:

  • 发现并解决未知的未知。它们有助于创建更多可观察的系统。
  • 监控应用程序性能并在早期阶段识别和缓解问题。
  • 将可观察性与机器学习相结合,使用户能够自动进行系统修复。
  • 创造最终用户体验以获得更好的用户体验。

可观察性的好处

一些好处是:

  • 它使数据更可用,并让您更好地控制数据。
  • 它有助于降低存储成本。
  • 它简化了数据收集。

Observability-benefits

可观测性挑战

可观测性的一些局限性包括:

  • 存储了太多不必要的数据,其中很多都被丢弃了。
  • 处理所有数据的成本可能会很高。

可观察性的支柱及其如何运作?

可观察性的三个主要支柱是日志、指标和跟踪。其实不止这三类数据,还有事件、Profiling、应用主动暴露的信息等等,但是这三类数据是最常见的。

Metrics 指标

指标是在时间间隔内测量的数据的数字表示。他们可以使用数学建模和预测来深入了解系统的行为。指标是一种定量评估方式。例如,初创企业可以跟踪其关键绩效或客户体验等指标,以更好地了解公司的地位。

在数字世界中,指标用于分析和报告系统的性能。

Logs 日志

日志是系统生成的数据记录。它在事件触发时发生 - 描述事件期间发生的情况。有关事件的具体详细信息称为日志数据。

例如,初创企业会在工作日和周末记录员工轮班或网站流量等信息。

日志是指操作系统和应用程序写入的信息。服务器通常定期制作其操作的快照并将其写入日志中。每个日志条目通常包含时间戳、记录数据的系统名称以及事件的严重性。

Traces 链路追踪

跟踪标记了系统内事务的端到端旅程。它提供了对所经过的路线和请求结构的可见性。对请求执行的每个操作称为“范围”,并使用有关对其执行的服务的数据进行编码。

当出现问题时,可以追踪跨度的历程并找到瓶颈。它可以进一步向应用程序开发人员显示其执行情况或警告可能出现的问题。

如何实现可观察性?

从您的硬件和软件系统开始。以下是您需要回答的一些问题:

  • 您在云端有 IaaS 吗?
  • 您在使用 SaaS 吗?
  • 您已经拥有可观测系统了吗?

如果您的系统签订了免费增值合同且功能受到限制,您可能需要升级许可证。如果您使用开源软件,您应该知道,尽管它是免费的,但当您真正开始使用它时,可能会产生意想不到的成本。典型的就是人员成本。

在了解了自己当前的能力和能力之后,您可以开始根据今天未满足的需求来思考需要向前推进的内容。

与对可观察性感兴趣的每个部门取得联系,并准确弄清楚每个部门的需求。 IOps、AIOps、DevOps 和您的 SRE 都应该能够告诉您他们需要什么或者他们离不开哪些工具。

了解每个人的需求后,您想谈谈您当前捕获数据的来源。您的软件开发人员可能构建的日志传送程序、应用程序、网络设备和客户仪器都将在某种程度上收集和转发数据。准确找出您的利益相关者缺少什么——他们需要哪些事件、指标或数据,以及来自哪些设备?

然后是数据管道硬币的另一面:目的地。您收集的数据实际上去了哪里?这些是您的日志服务器、分析系统和存储(可以位于本地或云中)、数据库、搜索引擎、APM、系统 API 收集器或开发的任何自定义系统。确定这里可能缺少什么,然后确定您引入的所有数据是否都得到了正确处理。

最后,您应该将可观察性嵌入到您的管理中并持续监控指标。

如何使系统可观测?

使系统可观察的一个有效方法是构建高度灵活的可观察管道。

可观察性管道是位于各种数据源之间的战略控制层。它允许用户从任何来源获取任何格式的数据并从中获取价值,然后将其定向到任何目的地。结果是——更好的性能并降低了应用程序和基础设施成本。

如何将数据传送到分析工具?

数据通常通过管道从收集器实时传输到分析工具。该管道还可以识别数据并将其转换为所需的格式。收集数据后,您必须对其进行分析。

鉴于有多种工具可以分析相同数据的重叠部分,组织很快就会发现这个过程非常麻烦。高度灵活的可观测性管道有助于最大限度地减少这种情况。

目前市场上有很多好的可观测工具和可观测平台,具体取决于您的需求和偏好。一些流行的选项包括 Cribl、Datadog、Elastic。

如何优化可观测性?

可观测性是工具、服务、工程设计和分析系统的组合,所有这些都协同工作。

为了优化可观察性,您必须设法了解 IT 系统影响组织目标的方式。然后,您必须质疑您的系统、应用程序或网络如何运行以确保这些影响,并将这些问题转化为可衡量的答案。根据组织认为可接受的措施类型,您可以了解内部系统的运行情况。

可观察性的未来是什么?

可观察性的未来始于普及应用程序仪表。在应用程序里埋点,以全面了解所有安全、性能相关信息。

Observability-future

小结

可观察性不是您购买的产品,而是组织的最终目标。它是关于能够询问有关您的数据的问题,以了解有关环境整体健康状况的更多信息。

原文:https://cribl.io/blog/what-is-observability/

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat
FlashDuty
Flashduty