在线体验 (账号:public/P@ssw0rd)
一个 Arthas 在线管理平台
📦: 零侵入性,无需为服务添加额外依赖进行集成
🐳: 支持连接远程(SSH) Docker 容器以及本地运行的 JVM
☸️: Kubernetes 集群 Pod 连接支持
👮: 拥有完整的权限管理,允许限制用户可以执行的命令,使用更加放心
💻: 完美结合 Web 界面的优势,提供各种原版命令的增强以及更精美的界面
♨️: 支持运行在 Jre 环境的 JVM
我们对一些命令进行了增强,能更方便的进行使用和查看。
Retransform 可以直接在 web 界面上传 class 文件替换字节码,文件在替换后会被立马删除。
Caution
目前为项目未经广泛验证,可能会有安全漏洞,请暂时不要连接生产环境中的服务器!!!
数据库要求:
- SQLite
- Postgresql
推荐使用 docker-compose 启动(不推荐以 root 用户启动,请使用 sudo useradd spectre 来创建一个专用账号):
name: Spectre
services:
web:
user: spectre
environment:
SPECTRE_HOME: '/home/spectre/data'
ports:
- "80:8080"
volumes:
- ./application.yaml:/home/spectre/application.yaml
- ./data:/home/spectre/data
- ./logs:/home/spectre/logs
working_dir: /home/spectre
image: vudsen/spectre:latest
command:
- java
- -Xmx1g
- -jar
- spectre.jar配置文件:
# application.yaml
spring:
profiles:
active: prod
datasource:
# 使用 sqlite,也可以使用 Postgresql,已经内置了对应驱动
url: jdbc:sqlite:data/identifier.sqlite
jpa:
properties:
hibernate:
dialect: org.hibernate.community.dialect.SQLiteDialect初始的用户名密码为:admin/P@ssw0rd
因为 Spectre 在第一次使用时会从 GitHub 上下载各种依赖的工具,例如 Arthas。
所以对于国内环境/离线环境需要手动上传工具包(如果可以联网,可以跳过这步,尝试自动下载)。
首先点击左侧菜单 工具链 -> 工具, 在第一次部署时会默认初始化所有需要的工具,然后查看 包缓存状态 一列:
可以看到值为 false,点击 false 后,会弹出一个上传对话框,然后手动下载对应的工具包上传即可。
点击左侧菜单 节点设置 -> 新建运行节点,即可进入到运行节点创建界面。
一个运行节点可以简单理解为:一个运行着很多 JVM 的服务器。
目前支持 SSH(仅支持 Windows) 和 Kubernetes。
点击左侧 节点设置 -> 节点列表,找到刚才创建的运行节点,在列表中点击一个类似插头的图标:
之后将会显示详细的节点树,该界面中找到需要连接的 JVM,点击插头图标,即可连接:
连接过程可能较长,请耐心等待。
连接完成后,将会进入命令执行界面:
在下方输入框即可输入 Arthas 命令。
如果要连接到 Kubernetes,推荐参考 k8s-full-roles.yaml 以提供基础所需权限(pods/exec 和 pods 可以限制到命名空间范围)。
开发工具要求:
- Java: 17
- NodeJs: 20+
- pnpm: 9+
添加命令行参数:
-Dspring.profiles.active=dev
详见前端文件夹内的 README.md






