AI Observe Stack(基于 Apache Doris):AI Agent 可观测性技术能力、选型对比与实践
AI Agent 存在三大黑盒问题:安全黑盒(Agent 自主执行命令)、成本黑盒(token 消耗失控)、行为黑盒(无法复盘异常)。AI Observe Stack 基于 OpenTelemetry + Apache Doris + Grafana 构建,通过 VARIANT 类型 + 倒排索引实现半结构化可观测数据高效存储与查询。OpenClaw 7 天审计发现:31 次 shell 命令、40 个外部网站访问、单次提问 19 轮 LLM 调用消耗 784 万 tokens。
关键词:Apache Doris · AI Agent · 可观测性 · OpenClaw · OpenTelemetry · VARIANT · SelectDB · prompt injection
1. AI Observe Stack 解决的核心问题
AI Agent(如 OpenClaw)具备工具调用能力后,产生三个本质性黑盒问题:
- 安全黑盒:Agent 自主执行 shell 命令(
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 的商业化公司,提供企业级支持和云服务。欢迎加入Doris 社区交流更多实践。
- 点赞
- 收藏
- 关注作者
评论(0)