还在一个个连接 Arthas?这个开源平台支持批量诊断 JVM

相信大家一定遇到过这种非常蛋疼的情况:

服务是集群部署,想用 arthas,就得一个一个连接上去,然后命令也是一条一条的执行。每次看个结果还得好几个命令行来回跳,非常难受有没有。

为了应对这个问题,在这里给大家推荐一款开源软件:

让 alibaba/arthas 从手动运维走向自动化:零侵入一键 attach JVM,无需手动上传与连接,作为命令执行网关提供安全的细粒度权限控制,支持 Docker / Kubernetes 接入,并集成 AI 实现自动化排障与智能诊断

废话不多说,直接上图:

在这里,我们连接了两个 MathGame 并且执行了一条 stack 命令,在左侧可以看到我们执行的命令列表,点击后就可以在右边看到每个 JVM 的 arthas 响应。

点击眼睛图标后,会弹出一个悬浮框查看具体的 arthas 响应。

平常由于负载均衡的存在,每次可能只会只有一个 JVM 有响应,当只有一个响应时,也可以清晰的看到结果:


你这个执行命令这么方便,但是 JVM 连接起来估计也很麻烦吧?

错,你只需要在页面上点几下,然后就可以交给后台自动连接了:

它会自动上传所需要的工具包(例如 arthas、jattach等),然后执行命令连接,我们只需要等着它自己连接完就可以了!

软件介绍

时序图:

特点:

  • 无需 jdk 环境也可以连接
  • 无需容器额外暴露端口
  • 对服务零侵入,全程自动化,拥有 arthas 的全生命周期管理
  • 支持 java8、java11、java17、java25(理论支持所有 8+ 版本,但只有这四个 LTS 版本进行了测试)
  • 具备权限管理,支持限制用户可以执行的命令
  • 支持 SSH + 本地JVM / SSH + Docker / Kubernetes
  • 服务零中间件依赖,支持开箱即用(数据库默认使用 SQLite,多人使用时推荐切换到 PostgreSQL)

可以直接在线体验已有演示环境:

spectreproject.click/

用户名密码:public / P@ssw0rd

其它特性

热更新

支持在页面上传 class 文件进行热更新,再也不用手动一个一个传了!

大模型诊断

服务已接入 AI,支持通过大模型诊断/询问

反编译

获取近似代码编译器的体验,帮我我们更好的观察代码。

Dashboard

更直观的 dashboard,帮助你快速定位系统问题。

快速启动

shell 复制代码
# No stdout under prod profiles. 
docker run -t --rm -p 8080:8080 vudsen/spectre:latest java -Dspring.profiles.active=dev -jar spectre.jar

启动后访问 http://localhost:8080,默认用户名和密码是 admin / P@ssw0rd。

项目地址

vudsen/spectre

欢迎大家提意见,能点个 star 就是对我最大的支持了!

相关推荐
XIAEE2 小时前
初次使用 Node + Koa + MongoDB 搭建服务器:从零到第一个 API
java·spring
m0_587383002 小时前
无人自助拼豆系统核心功能开发与部署落地全流程实战指南
java·经验分享·后端·struts·架构
雷一言说2 小时前
Spring AI 2.0:RAG 文档分块大小策略选择
java·spring
XIAEE2 小时前
Java 世界历险记:从一行 System.out.println 到整个 Spring 宇宙
java·spring
XIAEE2 小时前
微前端狂想曲:我试图让三个不同门派的前端住进同一栋楼
java·spring
XIAEE2 小时前
Linux 生存指南:从"终端恐惧症"到"命令行老司机"
java·spring
XIAEE2 小时前
实战教程:手机端死活调不出摄像头?聊聊安全上下文(Secure Context)
java·spring
程序员清风2 小时前
堆与优先队列:从 Top K 到任务调度
java·数据结构·算法
XIAEE2 小时前
ES6 与 Node.js 群侠传:那些年我们追过的语法,和那些年把我们追杀的 API
java·spring
XIAEE2 小时前
WebRTC 探险记:我是如何让两个浏览器"看对眼"的
java·spring