六维教程

EdgeOne Makers 可观测性概览

项目部署上线之后,最让人头疼的事就是”不知道它到底跑得好不好”。用户说页面打不开,你查了半天发现是某个接口报错。用户说响应慢,你测了一下发现是自己网络问题。这种靠猜的排查方式效率太低。可观测性就是来解决这个问题的,让你对项目的运行状态一目了然。

什么是可观测性

可观测性(Observability)说的是一个系统从外部判断内部状态的能力。放在 EdgeOne Makers 的场景里就是: 你不用登录服务器、不用翻日志文件,通过控制台就能看到项目的健康状况、性能表现和安全情况。

传统的可观测性需要自己搭三套系统:

系统 作用 常用工具
日志(Logging) 记录系统运行过程中的事件 ELK、Loki
指标(Metrics) 量化系统运行的各项数据 Prometheus、Grafana
链路追踪(Tracing) 跟踪请求在各个组件间的流转 Jaeger、Zipkin

三套系统搭下来,工程量不小。EdgeOne Makers 把这三层能力内置到平台里了,不需要你额外配置,打开控制台就能用。

指标分析

指标分析是最直观的部分。打开控制台,在项目概览页面就能看到关键性能指标。

能看到什么数据

指标类型 说明 什么时候有用
请求量 单位时间内的请求总数 判断流量趋势、发现异常流量
错误率 返回错误的请求占比 快速发现服务异常
响应延迟 请求从发出到返回的时间分布 定位性能瓶颈
带宽使用 数据传输量 判断资源消耗情况
状态码分布 200/301/404/500 等各状态码的比例 发现大量 404 或 500 错误

指标分析的使用场景

场景一: 发现流量异常

某天你发现请求量突然涨了三倍,但业务没有做推广。这时候就要排查是不是被爬虫扫了、被攻击了,或者某个外部链接突然火了。指标分析能帮你快速定位异常时间点。

场景二: 定位慢接口

用户反馈某个页面加载慢,你在指标分析里看响应延迟的分布图,找到耗时最长的请求路径,就能精准定位到是哪个接口慢。

场景三: 监控错误率

错误率平时接近 0,突然涨到 2%。虽然绝对值不大,但说明有问题在发生。顺着错误日志往下查,可能是数据库连接超时,也可能是某个第三方接口挂了。

维度查看

指标支持按不同维度查看:

维度 说明
账号维度 当前账号下所有项目的整体数据
项目维度 单个项目的数据
时间范围 自定义查看最近 5 分钟到 30 天的数据

日志分析

指标告诉你”有问题”,日志告诉你”什么问题”。日志分析让你在控制台里搜索和查看每一次函数调用的详细日志。

日志包含什么

日志字段 说明
请求时间 请求到达的时间戳
请求方法 GET/POST/PUT/DELETE 等
请求路径 访问的 URL 路径
状态码 响应状态码
耗时 请求处理耗时
客户端 IP 发起请求的 IP 地址
自定义日志 你在代码里用 console.log 打印的内容

日志查询方式

日志查询支持多种过滤条件:

按时间范围查询: 最近 15 分钟 / 最近 1 小时 / 自定义时段
按状态码过滤: 只看 4xx 或 5xx 的错误请求
按路径过滤: 只看某个特定接口的请求
按关键词搜索: 搜索日志内容中的关键词

举个例子,线上有人反馈接口报错,你大概知道是下午两点左右发生的,那就:

时间范围: 14:00 - 14:30
状态码: 500
路径: /api/submit

一搜就能找到那几条错误日志,看到具体的错误信息。

链路追踪

链路追踪解决的是”一个请求经过了哪些环节、每个环节花了多少时间”这个问题。对于 Agent 应用来说特别重要,因为 Agent 的一次调用可能包含多轮模型推理、多次工具调用、多个中间步骤。

Agent 的调用链路

普通 Web 请求的链路比较简单: 用户请求 -> 服务器处理 -> 返回响应。

Agent 的调用链路要复杂得多:

用户请求
  -> 模型推理(决定调用哪个工具)
    -> 工具1: 查天气 API
    -> 模型推理(分析工具返回结果)
      -> 工具2: 查数据库
      -> 模型推理(生成最终回答)
        -> 返回响应

链路追踪把这条链路上每个步骤的耗时、输入、输出都记录下来。哪个步骤慢、哪个步骤报错,一眼就能看到。

追踪面板能看什么

信息 说明
调用拓扑 请求经过了哪些环节,以可视化图表展示
各步骤耗时 每个环节的起止时间和耗时
输入输出 每个步骤的输入参数和返回结果
Token 消耗 每次模型调用的 Token 用量
错误定位 哪个步骤报错,错误信息是什么

三层可观测性的配合使用

指标、日志、链路追踪不是孤立的,排查问题时通常是三层配合:

第一步: 看指标发现异常
  -> 错误率突然升高
  -> 响应延迟变长
  -> 请求量异常

第二步: 看日志定位问题
  -> 找到具体的错误请求
  -> 看到错误信息和堆栈
  -> 确认是哪个接口、什么时间

第三步: 看链路追踪找到根因
  -> 请求经过了哪些步骤
  -> 哪个步骤慢或者报错
  -> 是模型推理慢还是工具调用失败

举个实际例子。你收到用户反馈说 Agent 回复很慢。

第一步,看指标面板,发现响应延迟中位数从 2 秒涨到了 8 秒。

第二步,看日志,找到那个耗时长的请求,发现它调用了 /api/chat 接口。

第三步,看链路追踪,发现那次请求中模型推理只用了 1 秒,但工具调用”查天气 API”花了 6 秒。进一步排查发现天气 API 的第三方服务响应慢。

问题定位了,不是你的代码有问题,是外部依赖拖慢了速度。解决方案可以是给工具调用加超时时间、加缓存、或者换一个更稳定的天气 API。

可观测性对 Agent 应用的意义

Agent 应用相比普通 Web 应用,可观测性更加重要。原因如下:

特点 为什么需要可观测性
调用链路长 一次对话可能触发多次模型推理和工具调用,需要追踪完整链路
延迟波动大 模型推理时间不确定,从几百毫秒到几十秒都有可能
失败模式多 不只是 HTTP 错误,还有模型幻觉、工具调用失败、上下文溢出等
成本要追踪 Token 消耗直接关联费用,需要知道哪个 Agent、哪个用户烧了多少
质量难评估 响应状态码是 200 不代表回答正确,需要看实际输出内容

EdgeOne Makers 的可观测性专门为 Agent 做了优化,Trace 里能看到每次模型调用的输入输出、Token 消耗、工具调用详情。这些信息对调试和优化 Agent 至关重要。

速查卡片

要点 说明
可观测性三层 指标(Metrics)、日志(Logging)、链路追踪(Tracing)
指标分析 看请求量、错误率、响应延迟、带宽、状态码分布
日志分析 搜索每次函数调用的详细日志,支持多维过滤
链路追踪 跟踪请求在每个环节的流转,精准定位慢步骤和错误
排查思路 指标发现异常 -> 日志定位问题 -> 链路追踪找根因
Agent 特殊需求 调用链路长、延迟波动大、失败模式多、成本要追踪
无需额外搭建 平台内置,打开控制台就能用
无需配置 自动采集数据,不需要集成 SDK 或修改代码
上一篇
EdgeOne Makers 迁移指南
下一篇
EdgeOne Makers 日志分析