AIObserveStack基于ApacheDoris,统一采集Trace/Metric/Log,以VARIANT存储半结构化日志,通过search()实现全文检索与SQL分析一体,支持Trace调用链分析、风险评分与成本追踪,破解AIAgent安全与成本黑盒,存储成本较ES降低50%-70%。
AI Observe Stack:基于Apache Doris的AI Agent可观测性技术选型对比与实践
时间:2026-07-31
浏览:401
文章目录
先说几个核心判断。AI Agent 的能力边界正在快速扩张,尤其是当它能够自主调用工具、执行 Shell 命令、读写文件、甚至对外发起网络请求的时候,问题也随之而来。这些能力带来的不只是效率,还有三个非常棘手的黑盒问题:安全黑盒、成本黑盒、行为黑盒。下面这张图直观地展示了整个 AI Observe Stack 的技术架构。

1. AI Observe Stack 解决的核心问题
当 AI Agent(比如 OpenClaw)具备了工具调用能力后,整个系统的可观测性就变得极为关键。具体来说,这三个黑盒问题是绕不开的:
- 安全黑盒: Agent 可以自主执行
rm -rf、sudo这类高危命令,读取.ssh/id_rsa等敏感文件,或者向外发送网络请求,而用户对此一无所知。更隐蔽的是,外部网页可以嵌入 prompt injection,诱导 Agent 执行恶意操作。 - 成本黑盒: 一次简单的提问,可能触发多达 19 轮的 LLM 调用。Context window 的滚雪球效应会导致最后一轮的 input tokens 是第一轮的 100 倍以上,这种成本膨胀几乎无法直观感知。
- 行为黑盒: 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 + Kibana | Datadog / New Relic |
|---|---|---|---|
| 半结构化数据 | VARIANT 类型原生存储 | 需预定义 mapping | 需适配 schema |
| 搜索+分析统一 | search() + SQL 一体 | ES 搜索 + 另配 OLAP | 搜索+分析分开 |
| 存储成本 | vs ES 降 50%-70% | 膨胀 2-3 倍 | 按量计费,大规模昂贵 |
| Trace 分析 | Doris App Waterfall | 需 APM 插件 | 原生支持 |
| AI Agent 专用 Dashboard | 3 个预置(安全/成本/行为) | 通用 | 通用 |
| 部署复杂度 | 一条 docker compose | ES + 同步链路 | SaaS,无需部署 |
| 开源/商业 | 开源(SelectDB 商业化) | 开源 + 商业 | 纯商业 SaaS |
| SQL 查询 | 标准 SQL | DSL 查询语言 | 专有查询 |
| 适用场景 | 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?
- AI Agent 具备工具调用能力(Shell/文件/网络),且需要安全审计。
- Agent 对外提供服务,多用户使用,需要行为追踪和合规审计。
- LLM token 消耗较大,需要成本分析和 context window 监控。
- 需要统一搜索+分析,不想同时维护 Elasticsearch 和 OLAP 两套系统。
- 需要高效存储半结构化 JSON 日志,VARIANT 类型比预定义 mapping 灵活得多。
当然,也有几类情况建议评估其他方案:
- 已经部署了 Datadog/New Relic 全栈监控且满足需求——SaaS 免运维是其最大优势。
- 仅需要全文检索,且团队已有 Elasticsearch 运维经验——Elasticsearch 在纯搜索场景依然成熟。
- 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 的商业化公司,提供企业级支持和云服务。
实用工具推荐
绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
选择画质和输出格式,预览压缩前后的大小。