“银弹”攻略:分层观测性的价值最大化

4 阅读11分钟

企业正在放弃单一的可观测性平台,转向分层方法以降低成本。分层包括金、银、铜三层,分别对应不同优先级和成本效益的解决方案。银层提供通用性和互操作性,是关键。数据联合和互操作性至关重要,企业可以选择统包方案或DIY。

译自:Going for Silver: Making the Most of Tiered Observability

作者:Franz Knupfer

仅仅几年前,许多企业还在努力将日志数据整合到一个单一的可观测性平台中。通过将所有数据集中在一个平台,用户可以获得统一的仪表盘,并能够在同一地点关联和分析所有的遥测数据。这样就不会再有工具碎片化或需要在不同工具间切换的问题。而且,高级可观测性解决方案提供了精美的用户界面,使得整合的吸引力尤为诱人。

然而,将所有遥测数据发送到单一的高级解决方案会带来一个很大的问题:高成本,尤其是对于大量日志而言。随着日志量持续增长,高级可观测性平台已经变得过于昂贵,企业正在寻求降低可观测性的总体拥有成本(TCO)。并且许多传统的可观测性平台在处理当今常见的大规模数据时面临挑战。

因此,将数据存储在单一高级平台中已不再是趋势。事实上,情况恰恰相反。企业正在放弃使用单一可观测性平台,转而采用一种分层方法,在多个解决方案中存储和分析日志数据。需要注意的是,这种方法不应与热/冷存储系统相混淆,后者将数据保存在不同的可用性层级中以降低成本。

相反,这种方法将数据划分为金、银和铜三个层级,最有价值的“金”数据发送到高级可观测性解决方案,而“银”和“铜”数据则发送到更具成本效益的日志解决方案或存储在结构化数据湖中。为了节省资金,企业只将一小部分可观测性数据(通常低于 10%)发送到高级平台,其余数据发送到更经济实惠的解决方案,从而控制成本。

为什么企业正在转向分层可观测性

多种趋势正在推动分层可观测性的发展。企业正在应对高级可观测性平台的高成本以及日志量的巨大增长。根据 Gartner 报告“控制您的可观测性支出”:“可观测性成本很高,并且呈指数级增长。2024 年,Gartner 客户在可观测性平台上的年度支出中位数超过 80 万美元(仅限一家供应商),同比增长 20%。”

成本增加的很大一部分原因是日志数据量的上升。该报告还提到:“成本的很大一部分是由遥测量和速度的爆炸式增长驱动的,这通常是由于向现代架构和应用程序的转变而加速的。传统的遥测摄取方法效率低下,不再适用于这些工作负载。”

截至 2023 年,37% 的企业每天已经摄取超过 1TB 的日志数据,其中 15% 的企业每天生成超过 10TB 的数据。这些数字在过去几年肯定有所上升,而且至少每天 1TB 越来越成为企业的常态,而不是例外。

根据 Gartner 报告“专注于遥测管道以在您的可观测性计划中取得成功”:“随着组织继续将其基础设施过渡到云并转变其可观测性战略,遥测数据的量、速度和种类也随之增加。十年前,合同大约是每天 10 到 100 GB 的日志。但今天,是 10 到 100 TB。”

因此,分层可观测性的主要目标是控制成本并解决不断增长的数据量。但是,企业如何才能最好地实施分层存储,而又不会回到使高级可观测性平台一开始就如此有吸引力的痛点呢?在回答这个问题之前,让我们首先分解分层可观测性的层级——然后看看银层如何提供平衡成本和用户体验所需的多功能性。

分解分层可观测性的层级

分层可观测性通常分为三到四个层级:金、银和铜(有时会加入铂金)。让我们来看看三层结构。

层级优先级解决方案类型存储/保留/可用性成本示例
产生收入,对停机时间零容忍高级可观测性平台短期保留,存储在 SaaS 解决方案中,高可用性高,尤其是在大规模情况下Splunk,Datadog
重要,对停机时间的容忍度有限大容量 OLAP/日志分析解决方案长期保留,经济高效的对象存储,高可用性经济高效Hydrolix,ClickHouse
所有其他数据结构化数据湖,开放表格式长期保留经济高效带有开放表格式(如 Apache Iceberg)的 AWS S3

金层专为最关键任务的可观测性数据而保留,任何中断都将导致收入损失。此数据存储在专门为可观测性设计的高级平台中,具有广泛的可视化、警报和关联功能。只有一小部分数据应存储在此层中(通常低于 10%,越少越好)。主要原因是成本,但这不是唯一的原因。另一个重要原因是可观测性平台往往是封闭的花园。它们在可观测性方面做得非常好,但它们并非旨在使数据可用于数据科学和机器学习 (ML) 训练等用例。因此,数据要么需要导出到其他解决方案(通常会导致额外的数据管道和成本),要么其使用仍然仅限于可观测性

在许多方面,银层是最通用和最重要的层,而不仅仅是因为它潜在的成本节省。银层通常专为重要但对于可观测性而言不如金层那样关键任务的数据而保留。此层中的解决方案通常是在线分析处理 (OLAP) 解决方案,或者具有许多 OLAP 元素,例如专为一次写入、多次读取 (WORM) 用例设计的高效列式存储。日志(按设计应该是不可变的)就是一个 WORM 用例的完美示例。

银层解决方案越来越多地建立在经济高效的对象存储之上,同时为实时数据摄取和分析提供规模。与高级可观测性解决方案不同,它们是多用途的,这在普及数据并使其在需要的地方可用时是一种优势,无论是像 Splunk 这样的高级可观测性平台还是像 Databricks 这样的分析平台。

它们不提供完全开发的可观测性产品,因此在将完整的可观测性套件应用于银层数据时,可能会有所权衡。理想情况下,它们包括集成或在高级可观测性解决方案中联合数据的能力,以便运营团队仍然可以访问他们喜欢的工具和可视化。

那么,对于多个用例(而不仅仅是可观测性)而言,关键任务的日志数据呢?实际上,最好将其存储在可用于这些用例的银层解决方案中,而不是将其发送到金层解决方案,在那里它仅用于可观测性,然后由于有限的保留期而被丢弃。

最后,铜层包含所有其他数据——最有可能是一次写入、永不读取 (WORN) 的数据。它可能是主要为合规性或潜在的取证分析(如果发生违规)而保留的数据。或者它可能是优先级较低的服务的日志数据,其中停机时间不是什么大问题。

虽然它可以发送到非结构化数据湖并使用像 AWS Athena 这样的服务进行查询,但这对于实时分析来说不是一种有效的方法。通过使用像 Apache Iceberg 这样的开放表格式添加结构,查询效率会大大提高。开放表格式的目标之一是高互操作性,尽管还需要做更多的工作才能为用户提供这种互操作性。

最终,银层和铜层解决方案都应提供经济高效、高度可扩展的数据摄取、存储和分析。应该有高度的互操作性,包括与可观测性平台、可视化工具(如 Grafana)、数据分析平台(如 Databricks 和 Snowflake)以及 AI/ML 开发工具(如 MLib 和 Apache Spark 生态系统中的其他工具)的互操作性。

从理论上讲,银层解决方案以略高的成本提供更快的分析和更高的可用性,而铜层解决方案以牺牲可用性和速度为代价,更具成本效益。

但是,由于数据分析和存储领域的创新水平很高,界限很快就会变得模糊。OLAP 风格的解决方案可以提供铜层成本效益,因为它们本质上是使用极度压缩并建立在对象存储之上的优化数据湖。像 Iceberg 这样的开放格式为快速、经济高效的湖仓一体奠定了基础。

最终,企业真正需要的只是针对日志分析进行优化、经济高效、快速且可互操作的解决方案。正确的解决方案可以提供银和铜两者的优点,从而简化分层可观测性的概念,并使团队更容易将其付诸实践。

具有统一洞察力的分层可观测性

分层方法可能会带来额外的复杂性,并且许多团队可能会(理所当然地)担心他们会再次陷入支离破碎的洞察力中。高级可观测性平台提供集成和代理方法,这可以使可观测性看起来相对轻松。企业可能会怀疑使用多个解决方案是否需要更多的技术资源来设置、维护和使用。这些都是合理的担忧,并且有一些方法可以缓解这些担忧。

  • 银和金可能就足够了: 如上一节所述,银层解决方案正在构建经济高效的 对象存储并使用极度压缩来降低成本。这意味着仅管理两层,而不是三层——高级可观测性解决方案和经济高效的日志分析解决方案。这样,分层可观测性实际上仍然是集中日志的最佳实践——除了大多数日志都集中在高级可观测性解决方案之外。
  • 数据联合和互操作性至关重要: 通过专注于互操作性和查询数据的联合方法,团队可以使用他们喜欢的工具来可视化和分析数据。例如,将 Splunk 连接器与经济高效的分析解决方案相结合 可以使团队使用 Splunk 搜索处理语言 (SPL) 在 Splunk 中查询和可视化他们的数据。这减少了工具碎片化并有助于统一洞察力。
  • 没有必要自己动手: 对于没有技术资源来提交 DIY 方法的企业,有一些高度可扩展的统包日志分析解决方案。没有必要从头开始构建和调整湖仓一体,尽管该选项确实存在,并且可能是某些企业的正确方法。对于那些希望 DIY 的人来说,好消息是像 Apache Iceberg 这样的开源工具使构建高性能数据湖比以往任何时候都更容易。但是,请记住,构建和维护旨在实时扩展海量日志量的流式管道仍然可能是一个主要的陷阱。

随着银层和铜层解决方案继续专注于互操作性,企业将越来越能够获得两全其美的优势:经济高效的摄取和存储,以及来自高级可观测性工具的洞察力。