arthas icon indicating copy to clipboard operation
arthas copied to clipboard

add native agent module

Open flzj-kl opened this issue 1 year ago • 6 comments

add native agent module

image

native-agnet-client

  • 列出java进程
  • attach jvm
  • load agent
  • ws连接arthas-server
  • 启动后注册到注册中心(etcd、zk)
  • 可扩展的注册逻辑

native-agent-server

  • http、ws 连接 native-agent-cinet
  • native-agent-server java进程管理页面
  • native-agent-server native-agent-client页面
  • native-agent-server 监控页面,复用console页面
  • native-agent-clinet发现
  • 可扩展的发现逻辑

flzj-kl avatar Sep 24 '24 14:09 flzj-kl

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Sep 24 '24 14:09 CLAassistant

能否在 agent server 上实现一个简单的 注册中心?避免有外部依赖才能启动。

hengyunabc avatar Oct 14 '24 12:10 hengyunabc

能否在 agent server 上实现一个简单的 注册中心?避免有外部依赖才能启动。

可以的,我补充1下。但是这个agent server 只能管理注册到它的 agent client

flzj-kl avatar Oct 14 '24 13:10 flzj-kl

能否在 agent server 上实现一个简单的 注册中心?避免有外部依赖才能启动。

分两期来做吧,我尽量在这个月底完成。参考下别的注册中心实现,要点时间😄

flzj-kl avatar Oct 15 '24 11:10 flzj-kl

在 webui 上的 websocket 连接,貌似是直连的 client 的端口 2672 。

这个要求用户和 client 是网络相通的。 实际上用户很多时候是没办法连接 client 所在的机器的。它只能连接 native-agent-server的机器。

需要把 ws 连接,从 native-agent-server 转发到 native-agent-client,再转发给 arthas 。

hengyunabc avatar Oct 17 '24 03:10 hengyunabc

在 webui 上的 websocket 连接,貌似是直连的 client 的端口 2672 。

这个要求用户和 client 是网络相通的。 实际上用户很多时候是没办法连接 client 所在的机器的。它只能连接 native-agent-server的机器。

需要把 ws 连接,从 native-agent-server 转发到 native-agent-client,再转发给 arthas 。

这是一个很大的问题,我没有考虑到😇。不过没有关系,我已经想到2种实现☝️🤓 1、新增proxy image

2、将webui独立出来,并依赖外部网关实现转发和负载均衡 image

flzj-kl avatar Oct 17 '24 15:10 flzj-kl

改好了🤓,把native-agent-server改成了native-agent-management-web,把native-agent-client改成了native-agent,再新增了一个native-agent-proxy image

flzj-kl avatar Oct 22 '24 12:10 flzj-kl