Cubic 主要有两部分,目前UI 和proxy 是写在一起的 目前的部署方式:
- ui 页面,页面目前为了方便适合proxy 打在一起的
- proxy 独立部署
- agent 需要和应用部署在同一台机器上。
- 在项目发行版本可直接下载
- 也可以下载源码后自己打包。先clone 项目到本地,然后进入cubic 目录执行 scripts/build.sh.运行完成后会出现agent-dist 、agent-proxy-dist两个目录,第一个存放的是agent 加载需要的,第二个就是proxy 部署包。
- 可以单独打包页面,测试启动命令 npm run dev,打包命令 npm run build:prod ,打完的包在dist 下
- 目前支持mac linux 系统
- 本机已经安装了jdk1.8+
- 本机 6080 11900 端口未被占用(此端口都在proxy 配置)
- 本机安装maven和nodejs(安装方式自行脑补)
-
将agent-dist整体拷贝到你要部署的机器,在启动应用时加入
-javaagent:/path/agent-dist/cubic-agent.jar (添加agent)
-Dcubic.agent.service_name=cubic-proxy (添加项目名称)
-
启动
java -jar -javaagent:/path/agent-dist/cubic-agent.jar -Dcubic.agent.service_name=cubic-proxy cubic-proxy.jar
-
通过 http://ip:6080 来对 web ui进行访问 ,默认地址 http://localhost:6080
-
启动后看到如下界面
-
agent 加载如下,将agent-dist整体拷贝到一个目录进行加载,里面的结构请不要进行变动,不要单独拷贝一个jar java -jar -javaagent:/xxx/agent-dist/cubic-agent.jar yyy.jar
-
启动代理服务 ,用于连接agent 和web java -jar cubic-proxy.jar
-
访问web ui localhost:6080 进入默认页面,输入ip 和 agentId(id 第一次随意输入),点击connect 进入命令交互模式
-
使用search 命令来查询我们项目配置的agent, 比如在agent config 我们配置了参数 agent.service_name = cubic,则进行查询并获取到应用的agentId(如果使用quick_start启动的,因为增加了-Dcubic.agent.service_name=cubic-proxy ,所以我们可以使用cubic-proxy查询ID )
-
然后将agentId 填入上面的输入框 点击connect 按钮重新加载,则进入当前应用的命令模式,输入3,切换到arthas 命令,就可以使用了
欢迎大家各种star,fork,提issue,pull request,感觉还可以就点个star吧!