昨天老冯发了条推特:“做了个 Claude Code Grafana Dashboard ,研究下它是怎么做决策,用工具,调 API 花钱的。”结果发现非常多的用户都对这个主题感兴趣。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

这是我没想到的。所以今天来聊一聊那就是 Claude Code 的可观测性。

老冯的想法其实非常简单 —— 我也挺好奇这个 Claude Code 内部到底是怎么工作的。虽然 Claude Code 不开源(),但你其实可以通过它的监控指标和日志,分析出它的大概工作原理。

打开网易新闻 查看精彩图片

Claude Code 提供 OTEL 格式的指标和日志,而且配置起来其实挺简单的。你只要指定几个环境变量,就可以让它主动推送到支持 OTEL 的监控系统里面去,然后用 Grafana 进行可视化。

打开网易新闻 查看精彩图片

这里的难点其实在于:我去哪找这么一个监控系统和 Grafana 呢?后来我看见这么多人都有需求,就干脆做一个开箱即用的配置模板。你只要找一台 Linux 服务器,运行几行命令把这个东西拉起来,它就会自带一个 Claude Code 的环境,所有东西都帮你配好了(包括监控这些)。你也可以直接把自己的 Claude Code 监控给接进去。

打开网易新闻 查看精彩图片

实际上,如果你已经会用 Claude Code 的话,并不需要了解太多细节。你只要告诉它有这么个东西、能干这么个事,并给它准备一台虚拟机,剩下的事它都应该能帮你自动干好。我看有人评论留言就是这么说的。哈哈!

打开网易新闻 查看精彩图片

监控事件说明

这个监控面板其实很朴素:上方可以选择会话(Session ID),选择之后,下方会列出各种各样的事件。你可以通过拖动来查看在处理任务的过程中都产生了哪些事件。

目前最主要的事件分为以下四大类:

1.User Prompt:你对它说了什么,或者给了什么提示词2.API Request:调用 API 的请求3.Tool Decision:系统决定使用什么工具4.Tool Result:工具返回的具体结果

每个事件都有一些对应的字段。大体上,只要看一眼这个面板,就能明白整个任务的处理流程是怎么一回事了。

举个例子,最简单的事件就是 User Prompt,你给 CC 发一条信息,就会有一个这个事件:

打开网易新闻 查看精彩图片

User Prompt 事件之后,通常是 API Request,也就是调用 API 模型。这里会有一个 model 字段 —— Claude 是区分了快速模型和高质量模型的,这里我用的是 GLM 4.7 作为例子,有些简单快速的请求,是 4.5-air 来处理的。

然后 API Request 事件会有几个核心字段:Cost,就是开销,然后是四个 Token 指标。Token.In/Out 就是输入,输出的 Token,Token Cache Read 则是缓存命中的指标。

打开网易新闻 查看精彩图片

API Request 完成之后,通常会有一个 Tool Decision 事件,也就是模型进行了决策,用什么样的工具。这里比如说就有 Bash,Read,Write,Search 等各种各样的 Tool,然后会有一个 Decision Source / Result,也就是根据什么标准(配置文件/询问用户/……),选择 “批准” / “拒绝”。

Tool Decision 事件之后,就是 Tool Restult 事件了。这是调用工具的关键事件,关键字段包括 —— Tool 的命令,说明,错误,参数,UseID,成功与否等等……

打开网易新闻 查看精彩图片

其实还有一些其他类型的事件,但是最主要的事件类型就是上面这四类。关于更多细节:可以参考 Claude Code 的监控文档: https://code.claude.com/docs/en/monitoring-usage

沙箱环境

当然,老冯也知道“授人以不如授人以” ,但光说原理没用,干脆就直接把东西做好给你算了。所以我做了一个开箱即用的沙箱环境,里面就包含了一套完整的开箱即用的 Vicotira 监控系统与 Grafana 监控大盘,随便找台 1C2G 的Linux 虚拟机几分钟就装好了。

这个沙箱除了监控 Claude Code ,还可以干很多有趣的事情。最主要的是,它已经替你配置好了常用的 Web Coding 工具 Claude Code,VS Code,Open Code。里面自带一个 PostgreSQL 和 Nginx,所以如果你需要一个云服务器开发环境,也可以试一试。

打开网易新闻 查看精彩图片

你也可以在这里直接使用不用翻墙的 GLM 模型,多配置一行参数就好了。关于Claude Code最美妙的就是:既然你都已经用它了,那你大概也不需要操心这些细节都是怎么弄的,直接动嘴让它自己去 VIBE 自己就好了

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片