从“会敲 Arthas 命令”到“会做线上诊断”:我做了一个 Arthas Agent 工具

线上 Java 故障排查这件事,很多团队都经历过同一个痛点:

  • Arthas 很强,但学习成本高;
  • 排障不是"会几条命令"就行,而是要有完整路径;
  • 最耗时间的不是敲命令,而是每一步怎么收敛、怎么控风险、怎么给出结论。

正好最近看到了阿里写的这个 《我们做了比你更懂 Java 的 AI-Agent -- Arthas Agent》 正好我们项目也经常用 Arthas 排查问题,但是这个项目没开源。但是查阅Arthas 的开源项目发现除了这个可视化页面,其实阿里已经把所有的步骤都开源了。还是很感谢阿里的开源大佬。

如果我们的项目如果出现了问题比如CPU 升高,我们可能需要在机器上 使用dashboard 查看CPU/线程/GC 概况,使用 thread 找出最忙的前 N 个线程并打印堆栈,找到可疑的方法优先使用 stack / trace 针对该方法观察,最后得出结论在不断的验证自己的排查方法。但是如果是一个经验不足的人可能会走很多的弯路。

但是现在有了这个Agent 就可以大大降低我们开发人员的门槛。我们只需要通过自然语言询问这个 Agent 让Agent 来帮我们做这件事就好。

来兄弟们咱们看一下调用的大致链路

在介绍一下这个项目都使用什么技术:

  • Spring Boot 3.5.11
  • Java 17
  • AgentScope 1.0.10(阿里开源的 Agent 框架)
  • MCP (AI 和项目桥梁)
  • Skill (AI 的技能包大佬沉淀的经验)

来上场景

  • 查询当前服务的环境变量是什么
  • 代码反编译
    有时候需要看第三方库的源码,或者线上代码和本地不一致:
    用户:查看 com.example.Service 的源码
    AI:正在执行 jad 命令...返回反编译后的代码

当然很多案例就不一一在这里描述。

最后在简单介绍一下 MCP 、Arthas、Skill

  • MCP(Model Context Protocol)
    可以理解为 AI 和外部工具之间的"标准接口协议"。
    有了 MCP,Agent 就能安全、规范地调用外部能力(比如执行 Arthas 命令、查系统信息、读日志等),而不只是纯聊天。
  • Skill(技能)
    Skill 是一套"可复用的处理剧本/能力包"。
    它把某类问题的排查步骤、约束和最佳实践固化下来。比如"CPU 飙高排查"就是一个 Skill,Agent 会按预定义路径一步步诊断,而不是每次临时发挥。
  • Arthas
    Arthas 是阿里开源的 Java 在线诊断工具。
    最大特点是 不重启应用 就能排查问题:看线程、看 CPU、trace 方法耗时、watch 入参返回值、查类加载等,常用于线上故障定位。

一句话串起来这个项目就是 大模型是大脑, Arthas 负责"诊断能力",Skill 负责"诊断方法论",MCP 负责"让 Agent 稳定调用这些能力"。

最后最后把这个demo 放到了这个 github 上。项目地址: https://github.com/liuee123/arthas-agent-util

如果大家有兴趣,欢迎一起交流讨论!👋

本文基于个人学习经历整理,如有错误欢迎指正。

相关推荐
怕浪猫5 小时前
设计你自己的可替换能力:三段式 Seam 实战,从需求到上线
agent·产品
腾讯云大数据7 小时前
DataBuddy数据语义驱动的企业Agent Runtime实践
大数据·人工智能·腾讯云·agent
EXI-小洲7 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
2601_961901708 小时前
SpringBoot使用Nacos进行application.yml配置管理
java·spring boot·spring
何以解忧,唯有..8 小时前
LangChain 工具调用(Tool Calling)实战指南
java·前端·langchain
QQ_21696290969 小时前
【源码编号:project79475】SpringBoot校内二手交易平台:商品发布、分类检索、留言交流、订单管理全流程实战
java·spring boot·后端
plainGeekDev10 小时前
Agent高级编排模式
agent·ai编程·claude
tachibana210 小时前
复杂任务怎么做的任务拆分?
人工智能·ai·大模型·llm·agent
tachibana210 小时前
ReAct、Plan-and-Execute、Reflection 三种范式有什么核心区别
人工智能·ai·大模型·llm·agent
前端 贾公子10 小时前
第09章:上下文与记忆 (2)
java·服务器·前端