qunarcorp / bistoury

Bistoury是去哪儿网的java应用生产问题诊断工具,提供了一站式的问题诊断方案
GNU General Public License v3.0
4.02k stars 825 forks source link

针对单机调试模式的支持或者目前架构改动的地方有多大? #121

Open lovevol404 opened 3 years ago

lovevol404 commented 3 years ago

从目前的项目文档来看,采用 ui -- proxy -- agent 的模式,可以支持大规模的、基于应用的使用模式。我这里想到还有一种更为简单的使用模式,就是针对某一个机器实例直接使用 ui -- agent 的模式链接,用时开启,用完即走,一些需要长时运行进行监控的功能可以被舍弃(监控的部分功能已经由监控&警报系统覆盖),可以减少组件维护上的一些复杂性。针对这种模式的支持计划,或者就目前的设计架构对支持此中模式改动情况(自行进行二次开发的难度)?

xleiy commented 3 years ago

改为单机模式难度应该不大,主要在应用中心的相关逻辑上。现行的逻辑,应用的作用主要是用于把主机分组方便查找。用时开启,用完即走,这个不知道你要做到什么程度,是用的时候才安装启动呢?还是用的时候在attach到目标jvm,这块不好平度

lovevol404 commented 3 years ago

目前的想法是对现行应用无任何侵入,指定 ip 之后,通过一些方式进入到该实例(自行实现),然后下载 agent 并 acttach 到目标 jvm,agent 启动完毕之后 ui 就能建立与该 ip 的连接,后续的操作与此 ip 交互,结束时执行一些清理即可。正在看相关源码,感谢回复!

xleiy commented 3 years ago

我们这边有一个proxy是因为网络原因,如果没有这个问题,直接前端浏览器直连agent也是可行的,注意修改下通信协议应该就没有问题了