java脚本计算器按钮无反应_无侵入透明的统一监控平台,基于spring boot 、netty、xterm实现

介绍

Cubic 是一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力。

Cubic 的目标是一站式java应用诊断解决方案,让开发人员无需登录机器或修改系统,就可以从日志、内存、线程、类信息、调试、机器和系统属性等各个方面对应用进行诊断,提升开发人员诊断问题的效率和能力。

Cubic 可调用内部自定义命令和动态加载arthas使用arthas 命令集。

目录结构

  • agent-dist 存放打包的agent.jar(打包后出现)
  • agent-proxy-dist 存放打包的proxy.jar(打包后出现)
  • arthas-dist 用于支持arthas命令集
  • config agent配置文件
  • cubic-agent agent start
  • cubic-core agent核心
  • cubic-proxy 代理应用,目前集成了简单的页面
  • cubic-ui 新版UI,持续开发中,欢迎大神来修bug,打包完 将dist目录数据拷贝到cubic-proxy resources/static下
  • docs 文档
  • scripts 包含打包脚本、启动脚本(用于测试)

安装教程

  1. 执行./mvnw clean package -DskipTests 或执行打包脚本 ./script/build.sh
  2. 打包完成的agent 在agent-dist目录下
  3. 打包完成的proxy 在agent-proxy-dist目录下

使用文档

  • 快速开始

JDK版本

目前项目编译使用的是JDK1.8

使用说明

  1. agent 加载如下,将agent-dist整体拷贝到一个目录进行加载,里面的结构请不要进行变动,不要单独拷贝一个jar java -jar -javaagent:/xxx/agent-dist/cubic-agent.jar yyy.jar
  2. 启动代理服务 ,用于连接agent 和web java -jar cubic-proxy.jar
  3. 访问web ui localhost:6080正常启动后会有数据上报到服务端,可在首页进行查看,点击唯一标识跳转到命令模式
349a407f4a1f0d6f3f6cb7be73f97294.png

点击connect 进入可进行重新连接

f9216bbe46ca69d229ca086ab4595eb5.png
  1. 命令分为两部分,输入1 基础命令, 3位arthas 命令,输入1 然后输入help 可查看帮助
  2. 也可以直接进入命令模式,使用search 命令来查询我们项目配置的agent, 比如在agent config 我们配置了参数 agent.service_name = cubic,则进行查询并获取到应用的agentId(如果使用quick_start启动的,因为增加了-Dcubic.agent.service_name=cubic-proxy ,所以我们可以使用cubic-proxy查询ID )
c5856f5435e6c1c45e9f0d92a22c18e5.png

然后将agentId 填入上面的输入框 点击connect 按钮重新加载,则进入当前应用的命令模式,输入3,切换到arthas 命令,就可以使用了

d20d03d0d69086bbce4a51e06d16755c.png

源码获取方式:关注转发之后私信回复【源码】我给大家发源码下载方式!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cubic 是一个对应用透明,无侵入java应用诊断工具,用于提升开发人员的诊断效率和能力。 Cubic 的目标是一站式java应用诊断解决方案,让开发人员无需登录机器或修改系统,就可以从日志、内存、线程、类信息、调试、机器和系统属性等各个方面对应用进行诊断,提升开发人员诊断问题的效率和能力。 Cubic 可调用内部自定义命令和动态加载arthas使用arthas 命令集。 因为很多公司使用监控需要进行定制化开发,Cubic 可作为一种技术参考,希望给大家带来些许启发。 技术体系:Spring Boot、Vue、Netty、Websocketxterm等。 目录结构: agent-dist 存放打包的agent.jar(打包后出现) agent-proxy-dist 存放打包的proxy.jar(打包后出现) arthas-dist 用于支持arthas命令集 config agent配置文件 cubic-agent agent start cubic-core agent核心 cubic-proxy 代理应用,目前集成了简单的页面 cubic-ui 新版UI,持续开发中,欢迎大神来修bug,打包完 将dist目录数据拷贝到cubic-proxy resources/static下 docs 文档 scripts 包含打包脚本、启动脚本(用于测试) 使用说明: 1、agent 加载如下,将agent-dist整体拷贝到一个目录进行加载,里面的结构请不要进行变动,不要单独拷贝一个jar java -jar -javaagent:/xxx/agent-dist/cubic-agent.jar yyy.jar 2、启动代理服务 ,用于连接agent 和web java -jar cubic-proxy.jar 3、访问web ui localhost:6080 正常启动后会有数据上报到服务端,可在首页进行查看,点击唯一标识跳转到命令模式--点击connect 进入可进行重新连接。 4、命令分为两部分,输入1 基础命令, 3位arthas 命令,输入1 然后输入help 可查看帮助。 5、也可以直接进入命令模式,使用search 命令来查询我们项目配置的agent, 比如在agent config 我们配置了参数 agent.service_name = cubic,则进行查询并获取到应用的agentId(如果使用quick_start启动的,因为增加了-Dcubic.agent.service_name=cubic-proxy ,所以我们可以使用cubic-proxy查询ID )。 6、然后将agentId 填入上面的输入框 点击connect 按钮重新加载,则进入当前应用的命令模式,输入3,切换到arthas 命令,就可以使用了。   Cubic java应用诊断工具 更新日志: v1.4.1 deature: 1、线程池监控 2、protobuf协议的支持 3、依赖冲突预警 4、线程池命令下发 bugfix: 1、修复页面固定IP导致的数据流发送问题 2、修复linux-tools加载问题
Spring Boot是一个快速开发框架,Netty是一个高性能的网络通信框架,WebSocket是一种基于TCP协议的双向通信协议。将它们结合起来实现IM系统是一种非常好的选择。 以下是实现步骤: 1. 创建Spring Boot项目,添加Netty和WebSocket依赖。 2. 创建WebSocket处理器,继承自Netty的SimpleChannelInboundHandler,并实现WebSocketServerProtocolHandler.ServerHandshakeStateEvent事件。在这个处理器中,可以处理连接建立、消息发送和接收等操作。 3. 创建WebSocket服务器,使用Netty的ServerBootstrap和EventLoopGroup创建一个监听端口的服务器。在服务器启动时,将WebSocket处理器添加到ChannelPipeline中。 4. 创建WebSocket客户端,使用NettyBootstrap和EventLoopGroup创建一个连接到服务器的客户端。在客户端连接成功时,发送握手请求,并在握手成功后发送消息。 5. 在Spring Boot项目中创建一个消息处理器,用于处理从WebSocket客户端接收到的消息。可以使用Spring的消息队列来处理这些消息。 6. 在Web界面上添加WebSocket客户端,使用JavaScript编写WebSocket客户端代码,连接到服务器并发送消息。在收到服务器发送的消息时,将其显示在Web界面上。 通过以上步骤,就可以实现一个基于Spring BootNetty和WebSocket的IM系统。用户可以在Web界面上发送和接收消息,服务器和客户端之间的通信是双向的。这种实现方式具有高性能、高可靠性和高扩展性,可以应用于各种实时通信场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值