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

news2024/11/25 16:23:13

作者:Jenny Morris

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

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

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

将 Prometheus 与 Elastic 无缝集成

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

转到集成并找到 Prometheus 集成。

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

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

1. Prometheus collectors

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

2. Prometheus 查询

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

3. Prometheus 远程写入

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

摄取 Prometheus 指标后,你可以选择在 Metrics Explorer 中以图形方式可视化数据,并根据标签(例如主机、容器等)进一步对其进行细分。

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

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

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

获取 Prometheus 指标数据后,你有各种保留选项。 你可以设置数据在热层中驻留的时间,该层使用高 IO 硬件 (SSD),并且价格较高。 或者,你可以将 Prometheus 指标移至热层,采用经济高效的硬件(例如旋转磁盘 (HDD)),同时保持一致且高效的搜索性能。 冷层镜像热层的基础设施以存储主数据,但使用 S3 进行副本存储。 如果出现节点或磁盘故障,Elastic 会自动从 S3 恢复复制索引,确保搜索性能与热层相当,同时降低磁盘成本。

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

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

高级分析

除了 Metrics Explorer 和 Discover 之外,Elasticsearch® 还提供更高级的分析功能,使组织能够对其 Prometheus 指标数据获得更深入、更有价值的见解。

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

通过 Metrics Explorer 或 Discover,用户还可以轻松地在 Elastic Lens 中编辑其 Prometheus 指标可视化,或从 Lens 创建新的可视化。

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

异常检测和预测

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

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

Elastic 的机器学习异常检测在此类场景中表现出色。 它会自动对 Prometheus 数据的正常行为、学习趋势和识别异常进行建模,从而减少误报并提高平均解决时间 (MTTR)。 Elastic 在此领域拥有超过 13 年的开发经验,已成为值得信赖的行业领导者。

Elastic 机器学习异常检测的关键优势在于其无监督学习方法。 通过持续观察实时数据,它可以了解数据随时间的变化。 这包括掌握每日和每周的模式,使其能够建立预期行为的正常范围。 它在幕后构建了统计模型,可以进行准确的预测,迅速识别任何意外的变化。 如果新兴数据表现出不寻常的趋势,你可以与警报系统无缝集成,将这一宝贵的见解付诸实践。

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

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

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

试试看

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1089769.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件工程与计算总结(十)软件体系结构设计与构建

目录 ​编辑 一.体系结构设计过程 1.分析关键需求和项目约束 2.选择体系结构风格 3.体系结构逻辑设计 4.体系结构实现 5.完善体系结构设计 6.定义构件接口 二.体系结构原型构建 1.包的创建 2.重要文件的创建 3.定义构件之间的接口 4.关键需求的实现 三.体系结构的…

算法通过村第十四关-堆|青铜笔记|堆结构

文章目录 前言堆的概念和特征堆的构成过程插入操作删除操作总结 前言 若执于空,空亦为障。 --彼得马西森《雪豹》 堆结构是一种非常重要的基础数据结构,也是算法的重要内容,很多题目甚至只能通过用堆来进行,所以我们必须明确什么类…

AnyLogic Pro 8.8.4 Crack

为什么选择 AnyLogic 仿真软件? 行业特定库 用于通用业务流程或工作流程的流程建模库。 流体库可模拟采矿或石油天然气等行业的散装货物和液体输送。 用于铁路运输、码头和堆场的铁路图书馆。 行人图书馆,用于记录机场、体育场馆、车站或购物中心的行人…

深度学习环境 | Linux下安装,卸载,查看pytorch版本

一 在Linux下安装pytorch 1 进入Linux环境以后 新建一个名为pytorch的虚拟环境,执行以下代码: conda create -n pytorch python3.82 激活新建的pytorch虚拟环境,执行以下代码: conda activate pytorch # conda版本较新使用这条…

目录启示:PHP 与命名空间的声明

文章目录 参考环境命名空间概念版本支持影响范围 全局命名空间概念魔术常量 \_\_NAMESPACE\_\_声明全局命名空间 声明命名空间为空间命名命名规则核心命名空间 子命名空间的声明在同一文件中定义多个命名空间无括号命名空间声明有括号命名空间声明禁止混合使用推荐使用有括号命…

【Python学习笔记】类型/运算/变量/注释

前言 人生苦短,追求生产力,做一只时代风口的猪,应该学python Python语言中,所有的数据都被称之为对象。 1. 对象类型 Python语言中,常用的数据类型有: 整数, 比如 3 小数(也叫浮…

如何查找文献,如何阅读文献

一、高效查找需要阅读的文献 1、首先进入知网的高级检索页,点击“学术期刊”,你会看到“来源类别”选择,在这个里选择北核和C刊 2、在检索结果页选择一篇自己感兴趣的文章,点击篇名进入文章详情页,下拉可看到核心文献…

高速数字化仪和AWG在车辆总线(CAN/LIN/PSI5)测试中的应用(二)

前情回顾 上期德思特向大家介绍了德思特模块化数字化仪在车辆测试中的应用,8到16位的通道,高达5 GS/s的采样率允许选择与应用相匹配的快速或慢速采样,即使缺少组件,它们也可以进行测试。这期将为大家介绍如何使用信号源进行仿真&…

呼吁社区共同维护Sui品牌和商标

Sui社区成员可以通过举报Sui商标和品牌资产的不当使用来帮助保护网络的信誉。Sui商标政策解释了logo和名称的可接受和不可接受的使用方式。这些展示代表Sui面向公众,而善意行为者的正确使用有助于维护Sui的声誉。 Sui网络在公众中享有良好声誉,Sui社区都…

遥感影像的面向对象方法

面向对象分割算法是一种将图像中的像素分割成不同的对象的算法。它通过对像素进行聚类,将相似的像素分为同一个对象,从而实现图像分割的目的。常见的面向对象分割算法包括基于区域的分割算法、基于边缘的分割算法和基于能量的分割算法等。 其中&#xff…

【2023年11月第四版教材】专题1 - 计算题考点汇总 (合集篇)

专题1 - 计算题考点汇总 (合集篇) 1 进度类1.1 PERT三点估算1.1.1 β分布1.1.2 三角分布 1.2 单代号网络图1.2.1 画图1.2.2 找关键路径1.2.3 计算总工期1.2.4 总时差1.2.5 自由时差1.2.6 工期压缩 1.3 双代号网络图1.4 双代号时标网络图1.4.1 画图1.4.2 找关键路径1…

大公司产品经理都用哪些原型工具?

原型设计工具的应用场景包括产品展示、产品需求规划和抽象到具体呈现,那么如何根据应用场景选择合适的原型工具呢?不用说,本文列出了常用的原型设计工具,看看你最想选择哪一个! 即时设计 即时设计是国内一款专业级的…

java非文本文件copy

文本文件使用字符流来处理 非文本文件使用字节流来处理 字节流处理代码整理 public void copyFile(String srcPath, String desPath) {FileInputStream fileInputStream null;FileOutputStream fileOutputStream null;try {File srcFile new File(srcPath);File desFile ne…

链表(3):双链表

引入 我们之前学的单向链表有什么缺点呢? 缺点:后一个节点无法看到前一个节点的内容 那我们就多设置一个格子prev用来存放前面一个节点的地址,第一个节点的prev存最后一个节点的地址(一般是null) 这样一个无头双向…

Dart-C、Dart-Kotlin/Java/Swift/Object-C、Kotlin-C数据类型对照表

参考一:Dart FFI 数据类型映射 一、Dart—C 的数据类型对照 二、Dart—Java/Kotlin/Object-C/Swift 的数据类型对照 三、C—Kotlin 的数据类型对照

WordPress发布文章上传图片如何默认选择全尺寸

最近发现每次上传图片插入到文章中,图片默认选择缩略图大小并靠左,每次都需要手动修改一下图片信息,比较麻烦。 今天为大家提供修改默认上传图片大小和对齐方式等。 将代码添加到functions.php: //WordPress 设置图片的默认显示…

Qt 样式表大全整理

【QT】史上最全最详细的QSS样式表用法及用例说明_qt样式表使用大全_半醒半醉日复日,花落花开年复年的博客-CSDN博客 QT样式表的使用_qt 设置按下 release hover 按钮样式表_create_right的博客-CSDN博客 QPushButton {border-image: url(:/Start_Stop.png); } QPu…

H5营销观察:场景应用的重要性

H5营销是很常见的营销方式,通常用于各种营销活动和推广活动。对于品牌部或市场部人员,提到“场景化营销”,很多人的第一反应就是如何制作一个有创意、能快速传播的H5。 似乎H5营销已经成为市场人专业度的考量,不论是品牌宣传、活动…

001flutter基础学习

flutter基础学习 参考:https://book.flutterchina.club/chapter1/flutter_intro.html Flutter是谷歌的移动UI框架跨平台: Linux,Android, IOS,Fuchsia原生用户界面:它是原生的,让我们体验更好,性能更好开源免费:完全开源,可以进行商用Flutter与主流框架的对比 Cor…

Rt-Thread 移植4--对象容器实现(KF32)

1.对象 1,1 什么是对象 所有的数据结构都是对象 1.2代码实现 1.2.1 对象类型枚举定义 rtdef.h 添加rt_object_class_type enum rt_object_class_type{RT_Object_Class_NULL0,RT_Object_Class_Thread ,RT_Object_Class_Semaphore,RT_Object_Class_Mutex,RT_Object_Class_E…