Jenny Morris

使用 Elastic Observability 摄取和分析 Prometheus 指标

在这篇博文中,我们将展示 Prometheus 与 Elastic 的集成,重点介绍 Elastic 如何通过广泛的历史分析、异常检测和预测,以经济高效的方式提升指标监控。

9 分钟阅读
Ingesting and analyzing Prometheus metrics with Elastic Observability

在监控和可观察性领域,Prometheus 因其强大的数据收集机制、灵活的查询功能以及与其他工具的集成以实现丰富的仪表板和可视化,已发展成为云原生环境中事实上的监控标准。

Prometheus 主要用于短期指标存储,通常将数据保留在内存或本地磁盘存储中,侧重于实时监控和警报,而不是历史分析。虽然它可以提供有关当前指标值和趋势的宝贵见解,但在深入历史分析、长期趋势检测和预测方面,它可能会带来经济挑战,并且无法满足所需的强大功能。在具有大量目标或高数据摄取率的大型环境中,指标数据会迅速累积,这一点尤其明显。

许多组织都会评估其独特的需求,并探索增强其 Prometheus 监控和可观察性功能的方法。一种有效的方法是将 Prometheus 与 Elastic® 集成。在这篇博文中,我们将展示 Prometheus 与 Elastic 的集成,重点介绍 Elastic 如何通过广泛的历史分析、异常检测和预测,以经济高效的方式提升指标监控。

与 Elastic 无缝集成 Prometheus

已配置其云原生应用程序以 Prometheus 格式公开指标的组织可以通过使用 Prometheus 集成将指标无缝传输到 Elastic。Elastic 使组织能够监控其指标,并结合通过 Elastic 的广泛集成收集的所有其他数据。

转到“集成”并找到 Prometheus 集成。

为了从 Prometheus 服务器收集指标,采用了 Elastic Agent,并通过 Fleet 服务器对 Elastic Agent 进行集中管理。

将 Elastic Agent 注册到 Fleet 后,用户可以选择以下方法将 Prometheus 指标摄取到 Elastic 中。

1. Prometheus 收集器

Prometheus 收集器连接到 Prometheus 服务器并拉取指标,或从 Prometheus 导出器抓取指标。

2. Prometheus 查询

Prometheus 查询针对 Prometheus 查询 API 执行特定的 Prometheus 查询。

3. Prometheus remote-write

Prometheus remote_write 可以从已配置 remote_write 设置的 Prometheus 服务器接收指标。

在摄取 Prometheus 指标后,您可以选择在 指标资源管理器中以图形方式可视化数据,并根据主机、容器等标签进一步细分数据。

您还可以在 Discover 中查询指标数据,并在详细信息面板中浏览各个文档的字段。

使用 Elastic 的数据分层机制存储历史指标

通过将 Prometheus 指标导出到 Elasticsearch,组织可以延长保留期,并获得历史分析指标的能力。Elastic 根据数据的使用频率和不同数据集的性能要求优化数据存储和访问。目标是高效管理和存储数据,确保在需要时仍然可以访问数据,同时控制存储成本。

摄取 Prometheus 指标数据后,您可以选择各种保留选项。您可以设置数据在热层中保留的持续时间,该层使用高 IO 硬件 (SSD),并且成本较高。或者,您可以将 Prometheus 指标移动到温层,使用像旋转磁盘 (HDD) 这样经济高效的硬件,同时保持一致且高效的搜索性能。冷层镜像温层的基础设施以用于主数据,但使用 S3 用于副本存储。如果节点或磁盘发生故障,Elastic 会自动从 S3 恢复副本索引,从而确保搜索性能与温层相当,同时降低磁盘成本。

冻结层允许直接搜索存储在 S3 或对象存储中的数据,而无需重新水合。目的是进一步降低不太频繁访问的 Prometheus 指标数据的存储成本。通过将历史数据移动到冻结层,组织可以优化其存储基础设施,确保最近的关键数据保留在更高性能的层中,而不常访问的数据则经济地存储在冻结层中。这样,组织可以执行历史分析和趋势检测、识别模式并做出明智的决策,并以经济高效的方式保持符合法规标准。

另一种更有效地存储云原生指标的方法是使用Elastic 时间序列数据流 (TSDS)。与常规数据流相比,TSDS 可以通过 减少约 70% 的磁盘空间 更高效地存储指标数据。降采样功能将通过在固定时间间隔内将指标汇总为单个摘要指标,进一步减少所需的存储空间。这不仅有助于组织减少指标数据的存储费用,还简化了指标基础设施,使用户可以通过统一的界面更轻松地将指标与日志和跟踪相关联。

高级分析

除了指标浏览器Discover之外,Elasticsearch® 还提供更高级的分析功能,并使组织能够更深入、更有价值地了解其 Prometheus 指标数据。

开箱即用,Prometheus 集成提供默认概览仪表板。

从指标浏览器或 Discover 中,用户还可以轻松地在 Elastic Lens 中编辑其 Prometheus 指标可视化,或者从 Lens 创建新的可视化。

Elastic Lens 使用户可以通过动态可视化直观地探索和可视化数据。这种用户友好的界面消除了对复杂查询语言的需求,使更广泛的受众可以进行数据分析。Elasticsearch 还通过聚合过滤器提供其他强大的可视化方法,使用户能够对其 Prometheus 指标数据(包括短期和历史数据)执行高级分析。要了解更多信息,请查看操作指南系列:Kibana

异常检测和预测

在分析数据时,持续监控屏幕是不可行的,尤其是在处理数百万个 Prometheus 指标时间序列时。工程师经常遇到区分正常数据点和异常数据点的挑战,这需要分析历史数据模式——这个过程可能非常耗时,并且通常超出人类的能力范围。因此,迫切需要一种更智能的方法来有效地检测异常。

设置警报似乎是一个显而易见的解决方案,但仅仅依赖具有静态阈值的基于规则的警报可能会有问题。星期三上午 9:00 的正常情况可能与星期日凌晨 2:00 的情况完全不同。这通常会导致复杂且难以维护的规则,或者导致警报范围过大,最终遗漏关键问题。此外,随着您的业务、基础设施、用户和产品的不断发展,这些固定规则跟不上变化,导致大量的误报,或者更糟糕的是,重要的问题在没有检测到的情况下被忽略。需要一种更智能、更具适应性的方法来确保准确及时的异常检测。

Elastic 的机器学习异常检测在这种情况下表现出色。它可以自动建模您的 Prometheus 数据的正常行为,学习趋势并识别异常,从而减少误报并缩短平均解决时间 (MTTR)。凭借在该领域超过 13 年的开发经验,Elastic 已成为值得信赖的行业领导者。

Elastic 的机器学习异常检测的关键优势在于其无监督学习方法。通过不断观察实时数据,它可以了解数据随时间变化的行为。这包括掌握每日和每周的模式,使其能够建立预期行为的正常范围。在幕后,它构建统计模型,可以进行准确的预测,并及时识别任何意外的变化。如果出现数据展示异常趋势的情况,您可以与警报系统无缝集成,从而将这些宝贵的见解投入使用。

机器学习能够预测未来,预测未来一天、一周甚至一个月的趋势,这不仅为工程师提供了报告功能,还提供了基于历史 Prometheus 数据进行模式识别和故障预测的功能。这在维护关键任务工作负载中发挥着至关重要的作用,为组织提供了一种积极主动的监控方法。通过在问题升级之前预测和解决问题,组织可以避免停机,降低成本,优化资源利用率,并确保其重要应用程序和服务的持续可用性。

为您的 Prometheus 数据创建机器学习作业是一个简单的任务,只需几个简单的步骤。只需在单个指标视图中指定数据索引并设置所需的时间范围。然后,机器学习作业将自动处理历史数据,在幕后构建统计模型。这些模型将使系统能够有效地预测趋势并识别异常,为您的监控需求提供有价值且可操作的见解。

本质上,Elastic 机器学习使我们能够利用数据科学家的能力,并有效地将其应用于监控 Prometheus 指标。通过无缝检测异常并提前预测潜在问题,Elastic 机器学习弥合了差距,使 IT 专业人员能够从高级数据分析中获得的见解中受益。这种实用且易于访问的异常检测方法使组织能够积极主动地维护其系统的可靠性。

试用一下

在 Elastic Cloud 上开始免费试用,并将您的 Prometheus 指标引入 Elastic。使用 Elastic Observability 增强您的 Prometheus 监控。通过先进的 AI/ML 异常检测和预测功能,领先于潜在问题。消除数据孤岛,降低成本,并提高整体响应效率。

立即使用 Elastic 提升您的监控能力!

本文中描述的任何特性或功能的发布和时间安排仍由 Elastic 自行决定。任何当前不可用的特性或功能可能无法按时交付或根本无法交付。

分享这篇文章