EMQX + DeepSeek:使用 LLM 构建可观测性数据智能分析工具

前言

物联网数据的可观测性是通过监控和管理车联网、工业互联网等平台的数据,确保数据在复杂的系统、流程和管道中保持高质量、可用性和可靠性的一种实践。它帮助用户全面了解数据的状态,快速定位和分析问题,提升系统的稳定性和运维效率。

本文将介绍如何结合 EMQX 的可观测性数据与 DeepSeek 的 LLM(大语言模型)服务,利用向量化知识库、自动化代码生成和自然语言处理等 AI 技术,帮助用户快速解决设备数据无法上传、设备断连、连接时延增加、数据转发缓慢等问题。

现有物联网数据可观测性工具的局限

在车联网、工业互联网等场景中,由于网络条件和应用的复杂性等原因,设备断线、订阅消息变慢、消息转发滞后、消息丢失等问题时有发生。如果没有高效的可观测性数据采集、存储和分析系统,运维团队将花费大量时间定位和分析相关故障,导致系统 MTTR(Mean time to recovery)增加、用户体验下降,甚至引发客户投诉和品牌声誉受损等问题。

一般而言,可观测性数据分析依赖于指标(metrics)、跟踪 (tracing)和日志 (logs)三大数据源:

  1. 指标(metrics)

    用户可以从基于时间维度的折线图等整体快速判断系统总体上是否有问题。

    • 通过系统的 CPU、内存和网络等指标使用情况来了解在指定时间段是否存在异常情况;
    • 通过 EMQX 系统了解连接、消息发送和转发等情况。

    市场已经有 Prometheus 和 Grafana 等成熟的相关产品,可以非常方便地对这些数据进行存储和展示。

  2. 跟踪(tracing)

    了解系统内部的运行状态,知道问题出在哪里。

    通过在系统内部埋点的方式来跟踪系统内部、跨系统之间的调用链关系,以及各组件所消耗的时间。

    目前市场上 Jaeger 等相关产品可以对链路数据进行存储、分析和展示。

  3. 日志(logs)

    用于定位故障的准确原因。

    日志是程序在执行过程中通过代码打印的,用于让开发和运维人员了解系统的执行状态,以及执行过程中发生的一些错误和异常情况。

    市场上有 ElasticSearch 等相关成熟的产品可以实现对日志的存储、查询和展示。

目前,市场中的大部分可观测性数据工具都存在以下局限性:

  • 功能预置化:大部分功能依赖供应商预设,无法灵活应对未知异常。
  • 知识库静态化:依赖文字匹配搜索解决方法,无法针对相关问题提供精准建议。
  • 智能化不足:缺乏问题推理能力,难以应对复杂场景下的问题分析。

利用 AI 实现更加智能的可观测性数据分析

基于大语言模型(LLM)提供的推理能力,可以显著提升可观测性数据分析的智能化水平:

  • 智能化推理:结合上下文对系统异常进行推理和判断,而非依赖硬编码规则。
  • 自然语言处理:通过 AI 生成代码的方式灵活处理数据,满足特殊场景需求。
  • 向量化知识库:利用 AI 推理能力,精准输出问题解决方案。
  • AI Agent 框架:基于 LLM 推理提供的方案提供自动化运维的能力,实现 AI 时代的智能运维。

DeepSeek R1 是深度求索 (DeepSeek) 公司开发的推理优化模型,通过强化学习训练(RL),能够在复杂场景中进行高效的推理和内容生成。而 DeepSeek V3 是一款强大的生成式大语言模型,采用混合专家架构,优化了训练效果和内容生成的效率与质量。通过结合 DeepSeek 的 R1 和 V3 模型,可以高效处理物联网场景中的海量异构数据和交互需求。

为了帮助用户进行更加高效的物联网系统运维,EMQX ECP 最新版本集成了基于 DeepSeek V3 的数据可观测性工具。在 EMQX 集群和边缘服务快速部署、远程操作、集中管理等功能的基础上,用户可以充分利用 AI 的推理能力,实现数据驱动的物联网智能运维。

该数据可观测性工具主要包含以下三部分:

  1. 向量知识库构建:将产品文档、运维知识和事故分析报告等文档进行向量化,增强 LLM 对相关问题的高效检索和应用。
  2. 数据源收集:EMQX 将指标、跟踪和日志等数据通过 OpenTelemetry 等协议发送到 Datalayers 数据库中,为 LLM 提供需要分析的数据源;
  3. 问题解决:
    1. 直接从向量库中搜索到相应的内容作为上下文,并结合 prompt,把推理结果 (output) 直接返回给用户;
    2. 根据用户的需求,在 Datalayers 数据库中加载相关的数据,并生成相关的代码,对数据进行处理。同时将有问题的数据和向量库中找到的结果作为上下文发送给 LLM,由 LLM 推理,形成相关的解决方案,组织为自然语言并返回给用户;

根据客户需求,后续还可以增加 Agent 自动运维编排的场景。例如:当发生某些情况时,自动发起扩容或发送通知等操作;另外还可以增加自动线上运维巡检,生成并发送高质量的巡检报告等。

AI 交互操作演示

接下来,我们将展示如何使用 AI 进行交互操作。在部署 EMQX ECP 后,用户可以进入工作台并点击左侧导航栏中的「链路追踪」功能,利用 EMQX 提供的端到端链路追踪能力来分析和排查问题。尽管链路追踪提供了强大的数据支持,帮助定位和发现问题,但在复杂情况下仍需要专业背景来分析问题根源。为提高效率,我们将 DeepSeek 的大语言模型集成到链路追踪高级查询页面的数据分析能力中,利用 AI 模型的推理和生成能力来帮助用户更快速、智能地定位问题并提供解决方案。

数据分析概览功能

首先,进入链路追踪页面并点击右上角的「高级查询」按钮,进入查询页面。在这里,用户需要选择一个 EMQX 集群标识,并根据需要选择一个或多个 Client ID 来定位数据源。接着,选择想要查询分析的时间段(默认为全部时间段),然后点击查询按钮,系统会返回指定 Client ID 下的所有链路追踪数据。

当查询结果返回后,用户将看到包含多个链路追踪数据的列表,通常数据量较大。人工识别异常数据可能较为困难,此时可以使用 AI 助手功能,点击右下角的 AI 助手按钮后,会弹出一个对话框。用户可以在对话框中输入需要分析的数据的需求,AI 助手会根据输入的信息生成数据分析结果,并提供优化建议等。

当点击右下角的 AI 助手中的「追踪数据概览」快捷按钮后,系统会生成针对当前查询到的所有追踪数据的概览分析。该分析通常包括以下几个部分:

  • 整体状况:展示当前查询的所有客户端 ID 的总追踪条数、成功率、平均响应时间、最小响应时间、最大响应时间,以及 P95 和 P99 响应时间。
  • 异常情况:显示错误率较高的客户端(错误率超过一定阈值)、响应时间异常的客户端(平均响应时间超过阈值)以及异常追踪(例如耗时特别长的追踪)。
  • 关键发现:列出主要异常的客户端或链路,帮助用户定位潜在的故障点。
  • 建议:根据数据分析结果,系统会给出针对性的优化建议和排查方向。

根据概览功能生成的报告,用户就可以迅速识别出异常的链路数据。例如,系统可能会指出某个客户端的响应时间过长,或某些 Client ID 的链路错误率过高。基于这些信息,用户可以通过搜索和过滤,立即找到异常链路的 Trace ID。后续只要点击 Trace ID,下方就会显示该追踪的详细信息,展示相关服务和操作的时间轴的链路结构,其中每个 Span 代表一个操作,用户可以将鼠标悬停在某个操作上,查看具体步骤和信息。

虽然有效数据属性有助于定位问题,但在例如只有错误码的情况下,问题可能不够清晰。这时,可以使用 AI 助手功能,点击「Spans 数据概览」按钮,快速分析详细原因。

AI 助手将提供每个 Span 操作的详细分析,包含错误信息、潜在原因及修复建议。通过接入我们构建的知识库,AI 能够更加准确地分析错误原因,并给出针对性的排查方案或修复建议。借助知识库中积累的历史案例和解决方案,AI 可以迅速定位真实问题,避免用户手动搜索和排查,提高问题定位的精准度和效率。

脚本模式功能

EMQX ECP AI 助手还提供了自定义脚本功能。通过对话框上方的脚本模式开关,用户可以启用脚本模式,利用 DeepSeek 强大的模型和编码推理能力。脚本模式开启后,用户可以通过对话框发送自定义数据需求,AI 会自动生成相应的数据分析脚本,并根据当前的数据执行运算,快速得出分析结果。AI 可基于结果自动生成图表或文档,帮助用户直观地理解数据,快速定位问题。

示例 1:计算 duration 的平均值

在脚本模式下,用户发送了一个「计算当前追踪数据中 duration 字段(耗时)的平均值」的请求。AI 助手此时会根据需求自动生成并执行相关的脚本代码,然后计算出 duration 的平均值,并返回结果。结果将直接显示在对话框内,同时生成了一份关于结果分析的总结报告。

示例 2:查看错误的 Trace 对于当前总的 Traces 的占比分布

AI 助手会根据用户需求来自动判断是否需要生成对应的图表,例如当用户提问了「查看错误的 Trace 对于当前总的 Traces 的占比分布」时,AI 助手会根据请求生成分析脚本,计算出错误 Trace 的占比,并自动绘制以图表的形式呈现,并附加上结果和图表的分析报告。此功能非常适合用户通过比例分析来评估系统健康状态。

通过脚本模式,AI 不仅可以帮助用户完成复杂的数据分析任务,还能根据用户的需求灵活生成代码。用户无需编写代码或手动计算数据,AI 会自动进行推理和计算,减少人工干预,提高数据分析效率。此外,生成的图表和报告更加直观,帮助用户迅速掌握关键信息,优化决策过程。

总结

结合 EMQX 的可观测性数据与 LLM DeepSeek 的数据推理能力,可以显著降低系统运维的工作量和成本,提升运维效率和质量,同时大幅缩短系统故障的定位和分析时间,并提供有针对性的方案或建议,进一步提升客户满意度。随着 LLM 技术的快速发展,智能运维 Agent 正在实现更复杂的自动化能力,逐步解放运维和支持人员的工作负担,为企业的数字化转型提供强有力的支持。

版权声明: 本文为 EMQ 原创,转载请注明出处。 原文链接:www.emqx.com/zh/blog/emq...

相关推荐
Mintopia44 分钟前
OpenClaw 对软件行业产生的影响
人工智能
陈广亮1 小时前
构建具有长期记忆的 AI Agent:从设计模式到生产实践
人工智能
会写代码的柯基犬1 小时前
DeepSeek vs Kimi vs Qwen —— AI 生成俄罗斯方块代码效果横评
人工智能·llm
Mintopia2 小时前
OpenClaw 是什么?为什么节后热度如此之高?
人工智能
爱可生开源社区2 小时前
DBA 的未来?八位行业先锋的年度圆桌讨论
人工智能·dba
叁两5 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
前端付豪5 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
strayCat232555 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源
王鑫星5 小时前
SWE-bench 首次突破 80%:Claude Opus 4.5 发布,Anthropic 的野心不止于写代码
人工智能