用 Claude Code 远程分析生产日志,追踪 Claude Max 账户被封原因

0 阅读6分钟

你好,我是易安。 昨天晚上发现 AI编程巴士 的两个 Claude Max 账户挂了。一个报 400 "Organization disabled",

图片

另一个报 403 "OAuth not allowed"。

图片

这种事手动查当然也能查,但我想试试直接让 Claude Code 来干——SSH 到服务器、定位日志、查数据库、出分析报告,全程不用我写一行 SQL。

记录下整个过程。

AI编程巴士是什么

先说背景。AI编程巴士是我做的一个 Claude Max 共享平台,底层是自研的 API 网关。用户通过标准的 OpenAI/Anthropic API 格式调用,网关负责把请求分发到后面的 Claude Max 账户上去。

图片

每个 Claude Max 账户(我们叫 claudemax-001 到 claudemax-022)都是真实的 Anthropic 订阅,通过 OAuth 认证接入。用户在 Claude Code、Cursor、VS Code 里配上 API Key,实际消耗的就是这些 Max 账户的额度。

图片

这不是转卖 API Key,是共享 Claude Max 订阅的调用额度,区别在于——每个请求都经过网关的调度、计费、负载均衡。

问题发现

晚上看了眼管理后台,claudemax-002 和 claudemax-007 状态变成了 error。错误信息分别是:

  • • claudemax-002Organization disabled (400): This organization has been disabled.
  • • claudemax-007Access forbidden (403): OAuth authentication is currently not allowed for this organization.

两个不同的错误码,意味着封禁程度不一样。我需要搞清楚是什么触发了 Anthropic 的风控。

让 Claude Code 来查

打开终端,启动 Claude Code,告诉它:

查询生产日志,分析 claudemax-002 和 claudemax-007 近2天的使用情况,分析封禁原因。

图片

接下来就是它自己在折腾了。

图片

第一步:定位日志在哪

Claude Code 做的第一件事是 SSH 到服务器上找日志文件。这个过程并不顺利——它先去查了 Docker 容器(没有),又去查了 systemd 服务(没启动),然后通过 ps aux 找到了 code80 进程,再通过 /proc/PID/fd/1 追踪到日志被重定向到了 /tmp/xxx.log

ls -la /proc/2537306/fd/1
l-wx------ 1 root root 64 Feb  8 03:54 /proc/2537306/fd/1 -> /tmp/xxx.log

但打开一看,日志只有 458K,2899 行——因为服务刚重启过,只有今天凌晨之后的数据。

第二步:转向数据库

日志不够用,它自己决定改查数据库。从 配置文件 里读到 PostgreSQL 的连接信息,然后开始写 SQL。

这里我没给它任何提示,它自己根据项目的 Ent schema 推断出了表结构,知道要查 账户表和 使用日志``表。

第一条查询就把关键信息拿到了:

SELECT id, name, status, error_message, updated_at, last_used_at
FROM accounts WHERE id IN (1016);
账户状态错误信息
claudemax-002errorOrganization disabled (400)
claudemax-007errorOAuth forbidden (403)

图片

第三步:深度分析

接下来它连续跑了 7、8 条 SQL,维度覆盖得挺全:

每日调用统计——两个账户近2天分别有多少请求、消耗多少 token、花了多少钱。

每小时频率分布——定位高峰时段。claudemax-002 在 2月7号下午 14 点一个小时内涌入了 472 次请求。claudemax-007 在 2月7号 16 点出现了峰值。

每分钟峰值——最夸张的是 claudemax-007 在 16:21 那一分钟打了 32 次请求。

模型分布——哪些请求在调 Opus,哪些在调 Sonnet,哪些在调 Haiku。

用户分布——谁在用这两个账户。claudemax-002 被 6 个用户共享,claudemax-007 被 5 个用户共享。

调用来源——几乎全部来自 Claude CLI 和 VS Code 插件,都是 AI编程巴士 的用户在用 Claude Code 编程。

全生命周期统计——claudemax-002 从 1月21号创建以来,18 天累计调用 29,487 次,消耗 2070 万 tokens,费用 $1,178。

分析报告

数据跑完,封禁原因就很清楚了。

图片

claudemax-002:组织被禁用(400)

这是最严重的封禁。18 天花了 1,178,一个月如果不出事大概要奔着2000 去了。正常个人用 Claude Max 一个月 $200 的订阅费,这个消耗量很恐怖。

关键特征:

  • • 近2天 2,025 次请求,是所有活跃账户里最高的
  • • 被 6 个不同用户使用,请求来自不同 IP 和 session
  • • 2月6号晚上 21-23 点,3 个小时内 638 次请求,高峰期同时有 3-4 个用户在用
  • • 2月7号下午 14 点,jf(化名) 一个人一小时打了 472 次

Anthropic 大概率是通过消费异常 + 多用户特征识别出来的。

claudemax-007:OAuth 认证被禁止(403)

这个相对轻一些——不是组织被禁用,只是 OAuth 认证方式被限制了,实际我登录已经被封了。

图片

它的总使用量($354)没有 002 那么夸张,但请求密度高。每分钟 32 次的峰值在所有账户中最高,这种频率不像人类手动操作,更像是 API 自动调用的模式。

图片

两种封禁的区别

400 "Organization disabled" 意味着整个组织被停了,包括网页端 claude.ai 大概率也用不了。这是 Anthropic 对严重违规的处理方式。

403 "OAuth not allowed" 只是限制了 API 调用方式,可能网页端还能用,这更像是一个"警告"级别的限制,实际我登录上去看,也被封了,上图也说了。

整个过程花了多久

从我输入那句话到拿到完整报告,大概 3 分钟。Claude Code 执行了大约 20 次工具调用——SSH 连接、文件查找、进程追踪、配置读取、SQL 查询。中间走了一些弯路(比如先去查 Docker),但最终都自己修正了方向。

图片

如果我自己来做:SSH 上去、找日志、写 SQL、汇总数据,估计要 20-30 分钟。而且我大概率不会像它那样跑 7、8 个维度的分析,可能查到错误信息就停了。

这就是 Claude Code 做运维分析的价值——不是说它比你聪明,而是它不嫌麻烦。你让它查,它就会把能查的维度都查一遍,最后给你一份比你自己写的更全面的报告。

AI编程巴士的用户在用 Claude Code 干什么

从 user_agent 数据看,几乎所有请求都来自 claude-cli(Claude Code 的 CLI 工具)和 claude-vscode(VS Code 插件)。这些是 AI编程巴士 的核心使用场景——用户用自己的 API Key 接入 Claude Code,在本地编程。

模型分布也很有意思:

  • • claude-haiku-4-5 请求量最大但成本最低,主要是 Claude Code 的 tool use 和上下文管理在用
  • • claude-sonnet-4-5 是主力编程模型,成本占比最高
  • • claude-opus-4-6 用来处理复杂任务,单次成本最高

这个分布完全符合 Claude Code 的工作模式:用 Haiku 做快速判断和工具调用,用 Sonnet 写代码,遇到难题切 Opus。AI编程巴士 提供的就是这种真实的 Claude Max 体验——不是阉割版、不是第三方套壳,而是原汁原味的 Anthropic API 调用。

经验教训

这次封号给了几个教训:

单账户负载控制。  claudemax-002 一个账户扛了 6 个用户、日均千次请求,太集中了。后续需要更均匀地分散到各个账户上。

请求频率限速。  每分钟 32 次对 Anthropic 来说可能不算高,但如果来自同一个 OAuth token 的不同 session,就很可疑了。网关层面需要加上 per-account 的 rate limiting。

监控提前预警。  等账户挂了再查就晚了。应该在日消费超过阈值、或者分钟级请求数异常时就发告警。

AI编程巴士 现在还剩20几个活跃的 Claude Max 账户,新补的今天刚上线。接下来要做的是优化调度策略——让每个账户的使用量更均匀,避免再出现一个账户扛大头的情况。

关于 Claude Code 做运维

最后说说工具本身。Claude Code 做这种"SSH 上去查问题"的事确实好用,它的优势在于:

  1. 1. 不需要你记命令。  /proc/PID/fd 这种路径我平时也不会想到去查,但它知道。
  2. 2. 会自己调整方案。  日志不够就改查数据库,一条路走不通就换另一条。
  3. 3. 分析维度全。  你让它查封禁原因,它会把相关的所有维度都跑一遍——时间分布、用户分布、模型分布、频率峰值,不是只给你一个数字。

当然也有局限:它不能帮你做判断。数据拿到了,"这个消费水平是不是会触发风控"这种经验性的判断还是得靠你自己。它只负责把事实摆出来。

对于在用 AI编程巴士 的同学,放心,被封的账户已经替换掉了。如果你在使用过程中遇到偶尔的 429 或者响应变慢,那可能是调度在切换账户,等几秒重试就好,一般不会遇到这个问题。

最后还是说一下,刚刚上线一周,已经得到很多小伙伴积极反馈了,用过的都说好。易安致力于为高T提供稳定可靠的纯血Claude,GPT,Gemini 模型服务,节省你们的时间,平均才0.5-0.6元一刀,而且是纯血帐号,无逆向,无倍率,性价比拉满。