首页 > 编程语言 >Observability:使用 Elastic AI Assistant 和 APM 分析 OpenTelemetry 应用程序

Observability:使用 Elastic AI Assistant 和 APM 分析 OpenTelemetry 应用程序

时间:2024-03-14 10:31:51浏览次数:33  
标签:Elastic AI Assistant OpenTelemetry SLO APM

作者:来自 Elastic Bahubali Shetti

OpenTelemetry 正在迅速成为云原生计算基金会 (CNCF) 内最广泛的项目,拥有与 Kubernetes 一样多的提交,并获得了客户的广泛支持。 许多公司正在采用 OpenTelemetry 并将其集成到他们的应用程序中。 Elastic® 提供了有关为应用程序实施 OpenTelemetry 的详细指南。 然而,与许多应用程序一样,查明和解决问题可能非常耗时。

Elastic AI Assistant 不仅在识别问题方面,而且在解决问题方面都显着增强了流程。 Elastic 的新服务级别目标 (service leverl objective - SLO) 功能进一步增强了这一点,使你能够简化从检测潜在问题到增强整体客户体验的整个站点可靠性工程 (SRE) 流程。

在本博客中,我们将演示你作为 SRE 如何检测配备 OpenTelemetry 的服务中的问题。 我们将探索使用 Elastic APM、Elastic 的 AIOps 功能和 Elastic AI Assistant 来识别问题。

我们将使用 OpenTelemetry 演示来说明这一点,并激活一个功能标志 (cartService)

我们的演练将包含两种场景:

  1. 当购物车服务的 SLO 不合规时,我们将通过 Elastic APM 分析错误。 Elastic AI Assistant 将通过提供运行手册和 GitHub 问题来协助问题分析。
  2. 如果购物车服务的 SLO 不合规,我们将检查指示高故障率的跟踪。 我们将使用 AIOps 进行故障关联,并使用 AI Assistant 直接从 Assistant 分析日志和 Kubernetes 指标。

先决条件和配置

如果你计划关注此博客,以下是我们用于设置配置的一些组件和详细信息:

  • 确保你在 Elastic Cloud上有一个帐户并已部署堆栈(请参阅此处的说明)。
  • 我们使用了 OpenTelemetry 演示。 有关将 Elastic 与 OpenTelemetry 演示结合使用的说明,请参见此处
  • 此外,你还需要将你的人工智能助手连接到你最喜欢的 LLM。 我们使用 Azure OpenAI GPT-4。
  • 我们还在 Kubernetes(特别是 GKE)上运行了 OpenTelemetry 演示。

SLO 不合规

Elastic APM 最近在 8.12 中发布了 SLO(服务级别目标)功能。 此功能允许为服务设置可衡量的性能目标,例如可用性、延迟、流量、错误和饱和度,或者定义你自己的目标。 关键组件包括:

  • 定义和监控 SLI(service level  indicators - 服务水平指标)
  • 监控错误预算以表明允许的性能缺陷
  • 基于错误预算消耗情况进行告警

我们为购物车服务设置了两个 SLO:

  • 可用性 SLO,通过确保事务成功来监控其可用性。 我们在 OpenTelemetry 应用程序中设置了功能标志,该标志在 10% 的情况下会为 EmptyCart 交易生成错误。
  • 延迟 SLO,确保 transaction 不会低于特定延迟,否则会降低客户体验。

由于 OTel cartservice 功能标记,可用性 SLO 被触发,并且在 SLO 详细信息中,我们看到在 7 天的时间内可用性远低于我们的目标 99.9(95.5)。 此外,所有可用的错误预算也已耗尽。

借助 SLO,你可以轻松识别何时会出现客户体验问题,或者何时会出现潜在的服务问题,以免问题变得更糟。

场景一:使用AI助手分析APM轨迹和日志

一旦发现 SLO 不合规,我们就可以深入到购物车服务中,在 Elastic APM 中进行调查。 下面介绍了你可以在 Elastic APM 中执行的一系列步骤以及如何使用 AI Assistant 来分析问题:

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="1WGJuvEb-1710379110300" src="https://player.bilibili.com/player.html?aid=1401760349"></iframe>

OTEL AI - Elastic 可观则

从视频中我们可以看到,一旦进入 APM,我们就采取了以下步骤。

  • 调查了 EmptyCart 踪迹,发现其故障率高于正常水平。
  • 跟踪显示大量故障,这也导致延迟稍长。
  • 我们使用 AIOps 故障关联来识别导致故障的潜在组件,该组件与 FailedPrecondition 的字段值相关。
  • 在过滤该值并查看日志时,我们仍然无法理解这意味着什么。
  • 你可以在此处使用 Elastic 的 AI Assistant 来进一步了解该问题。

AI 助手帮助我们分析了以下内容:

  • 它帮助我们理解日志消息的含义以及它与 Redis 连接失败问题相关。
  • 由于我们无法连接到 Redis,我们要求 AI Assistant 为我们提供 Redis Kubernetes Pod 的指标。
  • 我们从过去两个小时的日志中了解到 Redis 有两个 pod。
  • 然而,我们也了解到,一个人的记忆力似乎在增加。
  • Redis 似乎已重新启动(因此出现了第二个 Pod),通过这些信息,我们可以更深入地了解 Redis 发生了什么。

你可以看到我们通过 AI Assistant 和 Elastic 的 APM 功能关联大量信息、日志、指标和跟踪的速度有多快。 我们不必通过多个屏幕来寻找信息。

场景2:使用 AI 助手分析 APM 错误

一旦发现 SLO 不合规,我们就可以深入到购物车服务中,在 Elastic APM 中进行调查。 以下逐步介绍了你可以在 Elastic APM 中执行并使用 AI Assistant 来分析问题的一组步骤:

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="vp94xoOe-1710379086351" src="https://player.bilibili.com/player.html?aid=1351963847"></iframe>

可观察性 AI 助手-8.12

从视频中我们可以看到,进入APM后,我们采取了以下步骤:

  1. 我们注意到 APM 服务存在一个特定错误。
  2. 我们在错误选项卡中对此进行了调查,虽然我们发现这是与 Redis 连接的问题,但我们仍然需要更多信息。
  3. AI Assistant 帮助我们理解堆栈跟踪,并提供一些潜在的错误原因以及诊断和解决它的方法。
  4. 我们还要求其提供由我们的 SRE 团队创建的操作手册,其中为我们提供了解决此特定问题的步骤。

但正如你所看到的,AI Assistant 不仅为我们提供了有关错误消息的信息,还为我们提供了如何诊断它并可能通过内部运行手册解决它。

实现卓越运营、最佳性能和可靠性

我们展示了如何使用 Elastic 的功能(尤其是与 Elastic APM、AIOps 和最新的 SLO 功能相结合的 AI Assistant)来分析 OpenTelemetry 仪表化应用程序(OTel 演示)。 Elastic 显着简化了识别和解决应用程序中问题的过程。

通过对两个不同场景的详细演练,我们了解了 Elastic APM 和 AI Assistant 如何有效分析和解决购物车服务中不符合 SLO 的问题。 通过这些工具快速关联信息、日志、指标和跟踪的能力不仅可以节省时间,还可以提高故障排除过程的整体效率。

在这些场景中使用 Elastic 的 AI Assistant 凸显了将高级 AI 功能集成到操作工作流程中的价值。 它超越了简单的错误分析,提供了对潜在原因的洞察并提供了可行的解决方案,有时甚至提供了定制的运行手册。 这种技术集成从根本上改变了 SRE 解决问题的方式,使流程更加高效,减少对人工调查的依赖。

总体而言,Elastic 的 APM、AIOps 功能和 AI Assistant 的进步,特别是在处理 OpenTelemetry 数据方面,代表了卓越运营方面的重大进步。 这些工具使 SRE 不仅能够对新出现的问题做出快速反应,还能主动管理和优化其服务的性能和可靠性,从而确保增强的客户体验。

原文:Analyzing OpenTelemetry Apps with Elastic AI Assistant and APM | Elastic Blog

标签:Elastic,AI,Assistant,OpenTelemetry,SLO,APM
From: https://blog.csdn.net/UbuntuTouch/article/details/136682008

相关文章

  • 网络安全AI智能体公司「云起无垠」获数千万元天使+轮融资,致力于大模型与网络安全深度
    「云起无垠」致力于打造最懂安全的AI智能体,通过持续运营的工具、知识以及记忆引擎,不断提升智能体对用户安全场景的理解,以达到易于使用、自我学习、自主行动的特性,助力企业自动化执行各类安全任务,让软件更安全,让安全更智能。近年来,随着我国互联网的普及以及数字化程度逐渐加深,......
  • OpenAI官宣开源Transformer Debugger!不用再写代码了
    刚刚,OpenAI超级对齐团队负责人官宣开源Transformer调试器。研究人员不用写代码,就能快速探索LLM的内部构造了!这项工作,是用GPT-4来分析GPT2中输入和输出之间的对应关系,从而推断各个神经元可能承担什么语言特征编码职责,如词性、句法结构、上下文关系等。如果去掉某个神经元后,模型......
  • 手把手的使用Toolkit插件在诗情画意中完成AI诗朗诵
    本文分享自华为云社区《【云驻共创】手把手的使用Toolkit插件在诗情画意中完成AI诗朗诵》,作者:红目香薰。云原生时代,开发者们的编程方式、编程习惯都发生了天翻地覆的变化,大家逐渐地习惯在云端构建自己的应用。作为新一代的开发者们,如何更快速了解云,学习云,使用云,更便捷、更智能......
  • 利用AI辅助编程开发:新时代的编程助手
    随着人工智能技术的飞速发展,AI在编程开发领域的应用也日益广泛。AI辅助编程不仅能够提高开发效率,还能减少错误,让开发者更加专注于创新性的工作。本文将详细介绍如何利用AI来辅助编程开发,并通过实际例子和代码展示其实际应用。一、代码自动补全与错误检查AI在编程中的一个......
  • 基于英特尔® Gaudi® 2 AI 加速器的文本生成流水线
    随着生成式人工智能(GenerativeAI,GenAI)革命的全面推进,使用Llama2等开源transformer模型生成文本已成为新风尚。人工智能爱好者及开发人员正在寻求利用此类模型的生成能力来赋能不同的场景及应用。本文展示了如何基于OptimumHabana以及我们实现的流水线类轻松使用Llam......
  • 13. EXPLAIN
    explain是解释SQL语句的执行计划,即显示该SQL语句怎么执行的使用explain的时候,也可以使用desc5.6版本支持DML语句进行explain解释5.6版本开始支持JSON格式的输出EXPLAIN查看的是执行计划,做SQL解析,不会去真的执行;且到5.7以后子查询也不会去执行。参数FORMAT使用......
  • AI在商业逻辑应用中的革命性作用
    在今天的商业环境中,我们面临着一系列复杂且瞬息万变的问题。从最初的业务点子产生,到方案的落地实施,每一个环节都充满了不确定性。传统的商业逻辑构建方式,往往耗时耗力,而且容易因为人的主观因素导致效率低下或偏离初衷。然而,随着人工智能(AI)的快速发展,它在商业逻辑应用中的作用日......
  • mysql修改wait_timeout无效
    今晚本来要搭建一个mysql服务测试那个mysqlhasgoneaway问题的,结果设置wait_timeout死活不生效,找来找去,结果发现最大的问题在于globalvariables的问题。先说最重要的,查看这个变量的方法:showglobalvariableslike'%timeout';或者showglobalvariableslike'wait_......
  • 微信-架构设计师-谈ai
    此文含金量极大)AI搞钱的新路子,架构师快上车!!!架构师 2024-02-2722:00 广东如果问你:2024年,程序员必须掌握哪项技术?AI一定是榜首! 从去年起,AI大模型已是程序员的必备工具——‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 编程提效:编写更快,程序更稳定;代码更优:测试数、BUG对应减少;......
  • 大华智慧园区综合管理平台 getNewStaypointDetailQuery SQL注入
    简介大华智慧园区解决方案通过AI技术的加载实现园区安防与园区办公应用的智慧化升级,提升企业安全等级和办公效率;将物联网应用神经延伸至企业各种业务场景,实现人、车、物数据信息线上融合与计算,为园区智慧化管理提供数据源;构建园区大数据平台,向下汇聚各类业务子系统数据,向上为......