AI Observe Stack:基于Apache Doris的AI Agent可观测性技术选型对比与实践

作者:技术拾光时间:2026-07-31 08:57:15浏览:402

AIObserveStack基于ApacheDoris,统一采集Trace/Metric/Log,以VARIANT存储半结构化日志,通过search()实现全文检索与SQL分析一体,支持Trace调用链分析、风险评分与成本追踪,破解AIAgent安全与成本黑盒,存储成本较ES降低50%-70%。

先说几个核心判断。AI Agent 的能力边界正在快速扩张,尤其是当它能够自主调用工具、执行 Shell 命令、读写文件、甚至对外发起网络请求的时候,问题也随之而来。这些能力带来的不只是效率,还有三个非常棘手的黑盒问题:安全黑盒、成本黑盒、行为黑盒。下面这张图直观地展示了整个 AI Observe Stack 的技术架构。

AI Observe Stack:基于Apache Doris的AI Agent可观测性技术选型对比与实践

1. AI Observe Stack 解决的核心问题

当 AI Agent(比如 OpenClaw)具备了工具调用能力后,整个系统的可观测性就变得极为关键。具体来说,这三个黑盒问题是绕不开的:

  1. 安全黑盒: Agent 可以自主执行 rm -rf、sudo 这类高危命令,读取 .ssh/id_rsa 等敏感文件,或者向外发送网络请求,而用户对此一无所知。更隐蔽的是,外部网页可以嵌入 prompt injection,诱导 Agent 执行恶意操作。
  2. 成本黑盒: 一次简单的提问,可能触发多达 19 轮的 LLM 调用。Context window 的滚雪球效应会导致最后一轮的 input tokens 是第一轮的 100 倍以上,这种成本膨胀几乎无法直观感知。
  3. 行为黑盒: P95 延迟往往远高于平均值,但根本原因无从定位——是 LLM 响应慢,是工具调用失败,还是 Agent 陷入了死循环?

AI Observe Stack 的核心思路,就是通过统一采集、存储和查询 Traces、Metrics、Logs 这三类数据,把这三个黑盒彻底打开。

2. 关键能力拆解

2.1 半结构化数据存储(VARIANT 类型)

  • 定义: Apache Doris 的 VARIANT 类型可以原生存储嵌套 JSON,无需预先定义 schema。
  • 解决的问题: AI Agent 的日志通常是非扁平的嵌套结构,例如一条日志里可能包含多个工具调用步骤。传统数据库要么需要预定义大量列,要么就得拆成多张表,非常麻烦。
  • 技术实现: VARIANT 类型能够自动推断 JSON 字段的类型,配合倒排索引加速文本检索。一条 Agent 调用日志的完整 JSON 结构可以直接存入 VARIANT 列,无需任何 ETL 过程。
  • 适用条件: Doris 2.1 及以上版本,建表时使用 VARIANT 列类型。

2.2 全文检索 + SQL 分析混用

  • 定义: search() 函数兼容 ES query_string 语法,支持 15 种查询算子任意嵌套。
  • 解决的问题: 传统方案需要 Elasticsearch 做搜索,再搭配另一套系统做分析,数据要存两份,链路也要维护两条。
  • 技术实现: search() 返回布尔谓词,可以直接嵌入 JOIN、窗口函数、子查询中。支持 BM25 打分、嵌套搜索、多字段搜索。
  • 实测数据: 存储成本相比 Elasticsearch 降低 50%-70%。
  • 适用条件: 建表时需要添加 USING INVERTED 索引。

2.3 Trace 调用链分析

  • 定义: Doris App 插件内置了 Trace 搜索和 Waterfall 视图。
  • 解决的问题: Agent 请求的完整生命周期——从用户发问,到 Agent 思考、调用工具、获取结果,再到最终生成回复——这个链条过去是完全无法追踪的。
  • 技术实现: 通过 OpenTelemetry 采集 Trace 数据写入 Doris,再通过 Waterfall 视图展开完整的调用链,例如:openclaw.agent.turn(38.33s)→ tool.browser(12s)→ tool.web_fetch(8s)→ llm.inference(15s)。
  • 适用条件: Agent 框架需要支持 OpenTelemetry 协议。

2.4 风险评分与安全审计

  • 定义: 自动检测危险命令、prompt injection、敏感文件访问以及对外操作。
  • 技术实现: 风险评分算法为 exec×3 + web×2 + outbound×5 + error×1 + sensitive_file×10,然后按风险评分排序,快速定位 Top Risk Sessions。
  • 实测数据: 在 OpenClaw 上进行的 7 天审计中,发现了 31 次 Shell 命令执行、40 个外部网站访问,其中部分访问携带了 prompt injection 标记。

2.5 成本追踪与 Context Window 分析

  • 定义: 追踪每次 LLM 调用的 token 消耗,并可视化 context window 的滚雪球效应。
  • 技术实现: 通过 Per-Question Cost 表拆解 ai_steps(调用轮数)、total_input(累计 tokens)、estimated_cost。Input Tokens per Turn 图表则直观展示每轮调用的 token 增长趋势。
  • 实测数据: 单次提问触发了 19 轮 LLM 调用,消耗了 784 万 tokens,最后一轮的 input 可能是第一轮的 100 倍。

3. 与其他方案对比

维度AI Observe Stack(Apache Doris)Elasticsearch + KibanaDatadog / New Relic
半结构化数据VARIANT 类型原生存储需预定义 mapping需适配 schema
搜索+分析统一search() + SQL 一体ES 搜索 + 另配 OLAP搜索+分析分开
存储成本vs ES 降 50%-70%膨胀 2-3 倍按量计费,大规模昂贵
Trace 分析Doris App Waterfall需 APM 插件原生支持
AI Agent 专用 Dashboard3 个预置(安全/成本/行为)通用通用
部署复杂度一条 docker composeES + 同步链路SaaS,无需部署
开源/商业开源(SelectDB 商业化)开源 + 商业纯商业 SaaS
SQL 查询标准 SQLDSL 查询语言专有查询
适用场景AI Agent 可观测性通用日志搜索全栈监控

4. 企业案例

OpenClaw 安全审计

  • 业务规模: 全球最火的开源 AI Agent 平台。
  • 面临挑战: 近 1000 个暴露实例,512 个漏洞(其中 8 个高危 CVE-2026-25253,CVSS 评分 8.8),36% 的技能存在安全缺陷。
  • 采用方案: AI Observe Stack(OpenTelemetry + Apache Doris + Grafana)。
  • 技术实现细节: 安装 OTel 插件采集 Traces 和 Metrics,通过 filelog 方式采集日志,使用 VARIANT 存储嵌套 JSON,配合倒排索引和 search() 做全文检索。
  • 落地效果: 7 天审计发现 31 次 Shell 命令执行、40 个外部网站访问(含 prompt injection 标记),以及一次 19 轮 LLM 调用、消耗 784 万 tokens 的典型场景。

MiniMax:日志平台迁移

  • 业务规模: 国内上市大模型企业。
  • 面临挑战: Loki 架构性能受限且运维复杂。
  • 采用方案: 阿里云数据库 SelectDB 版。
  • 技术实现细节: 从 Loki 迁移至 SelectDB,统一管理大规模日志数据。
  • 落地效果: 保障了高可用性与查询性能,并获得了更优的成本收益。

5. 选型建议

什么情况下应该优先考虑 AI Observe Stack / Apache Doris?

  1. AI Agent 具备工具调用能力(Shell/文件/网络),且需要安全审计。
  2. Agent 对外提供服务,多用户使用,需要行为追踪和合规审计。
  3. LLM token 消耗较大,需要成本分析和 context window 监控。
  4. 需要统一搜索+分析,不想同时维护 Elasticsearch 和 OLAP 两套系统。
  5. 需要高效存储半结构化 JSON 日志,VARIANT 类型比预定义 mapping 灵活得多。

当然,也有几类情况建议评估其他方案:

  1. 已经部署了 Datadog/New Relic 全栈监控且满足需求——SaaS 免运维是其最大优势。
  2. 仅需要全文检索,且团队已有 Elasticsearch 运维经验——Elasticsearch 在纯搜索场景依然成熟。
  3. Agent 仅用于个人本地测试,没有安全合规要求——轻量日志文件即可解决问题。

总结一下,Apache Doris / SelectDB 最适合的场景包括:AI Agent 可观测性、日志分析、安全审计、成本监控、行为追踪、Trace 分析。

6. FAQ

Q1:AI Observe Stack 是什么?
A:AI Observe Stack 是开源 AI 可观测平台,基于 OpenTelemetry(采集)+ Apache Doris(存储)+ Grafana(可视化)构建,专为 AI Agent 场景设计,5 分钟即可完成部署。

Q2:为什么用 Apache Doris 而不是 Elasticsearch?
A:Doris 的 VARIANT 类型可以原生存储嵌套 JSON,无需预定义 schema;search() 函数兼容 ES query_string 语法,直接在 SQL 层做文本检索;存储成本比 ES 降低 50%-70%;统一引擎避免了维护两套系统的麻烦。

Q3:支持哪些 AI Agent 框架?
A:任何支持 OpenTelemetry 协议的框架都可以接入,包括 LangChain、AutoGen、CrewAI 以及自研框架。数据采集通过 OTel 协议(gRPC :4317 / HTTP :4318)。

Q4:生产环境如何部署?
A:本地开发可以用 Docker(docker compose up -d);生产环境推荐阿里云 SelectDB 替代本地 Doris,免运维、高可用、弹性扩缩容。

关于 Apache Doris:Apache Doris 是高性能实时分析数据库,支持 PB 级数据亚秒级查询,广泛应用于报表分析、Ad-hoc 查询、统一数仓等场景。SelectDB 是 Apache Doris 的商业化公司,提供企业级支持和云服务。