lee
|
f1fa6dca7c
|
fix: 恢复心跳发送、断线重连、注册定时任务的完整实现
故障诊断结果:Agent启动后TCP连接成功,但连接断开后无法重连
根因:
- connectionTask()重连方法是空stub,连接断开后无法自动重连
- heartbeatTask()心跳逻辑被简化,只是本地计数不通过TCP发送
- registerTask()注册方法是空stub
- MultiTargetNettyClient没有断线检测和重连机制
修复内容:
- BusinessTasks.java: 恢复完整的heartbeatTask(心跳上报)、connectionTask(断线重连)、
registerTask(注册)、policyTask(策略更新)、networkDetectTask(多网IP探测)、
checkFrpcTask(FRPC保活)、upFrpcMsgTask(FRPC状态上报)方法
- 新增 NetBusinessService.java 接口(定时任务依赖)
- 新增 NetBusinessVO.java VO类
- 新增 NetworkInterfaceInfo.java VO类
- 新增 NetworkInterfaceUtil.java 工具类
- MsgEnum.java: 新增心跳上报、注册、多网IP探测枚举值
|
2026-07-22 17:15:10 +08:00 |
|
lee
|
ff7cd12fd7
|
fix: 恢复1.20版SaaS连接核心代码,修复Agent无法连接SaaS服务器问题
问题根因:1.21代码优化时误删了SaaS连接核心组件
- 误删 MultiTargetNettyClient.java (Netty TCP客户端)
- 误删 ConnectionConfig.java (连接配置封装)
- 误改 AgentNettyConfig 配置前缀从 netty.server 改为 tcp.netty.charge
- 误删 AppInitializer 中的SaaS连接初始化逻辑
- 误删 AgentService 中的 connection() 等接口方法
- 误增 AgentNettyServer.java (1.20中不存在的服务端类)
修复内容(从1.20原版JAR反编译恢复):
- 恢复 MultiTargetNettyClient: Bootstrap.connect() 主动连接SaaS服务器
- 恢复 ConnectionConfig: 连接配置封装类
- 恢复 AgentNettyConfig: @ConfigurationProperties(prefix = "netty.server")
- 恢复 AppInitializer: CommandLineRunner.run() 调用 initConnection()
- 恢复 AgentService/AgentServiceImpl: connection()方法及全部业务接口
- 恢复 MachineFingerprint: 硬件指纹生成工具类
- 恢复 application-dev.yml: netty.server.host/port 配置
- 删除 AgentNettyServer.java (1.21错误新增)
- 删除旧 AgentNettyConfig.java (tcp.netty.charge 前缀)
部署验证:39.96.218.1 已成功连接SaaS服务器 120.211.95.173:6620
|
2026-07-22 15:50:03 +08:00 |
|
lee
|
546eef3372
|
feat(v1.21-beta): 代码安全审计与全面优化
基线: v1.20 (e58137c) | 分支: agent1.21bate
## P0 严重修复 (14项)
- 安全: 命令注入漏洞修复 (SpecificTimeTaskService)
- 安全: 路径穿越漏洞修复 (AgentEndpoint)
- 安全: 下载安全加固 (AdvancedAsyncDownloader)
- 数据: CPU avg1/avg5/avg15 赋值错误修复 (CPUServiceImpl)
- 数据: 磁盘读写字节/速率赋值反转修复 (DiskServiceImpl)
- 逻辑: updateTaskInterval 丢失原始任务修复 (DynamicTaskService)
- 并发: GlobalConfig 100+ 静态字段 volatile + 并发集合
- 性能: SessionManager O(n)->O(1) Channel反向映射
- 并发: SessionManager 序列号 AtomicInteger
- 并发: CompensatedTrigger CAS 竞态修复
- 泄漏: UDPListenHandler ByteBuf 内存泄漏修复
- NPE: BaseNettyServer stop() 空指针修复
- 线程: AsyncCommandExecutor 无界线程池改有界+守护线程
- 泄漏: AdvancedAsyncDownloader 连接和线程池资源释放
## P1 重要修复 (5项)
- NetServiceImpl: Process 资源泄漏 + 超时控制
- DockerServiceImpl: 数组越界保护 + 资源释放
- MemoryServiceImpl: 除零风险修复
- SystemServiceImpl: 除零风险修复 + 异常处理规范化
## P2 代码质量 (6项)
- 100+ System.out/err -> AssertLog 日志框架
- e.printStackTrace() -> 结构化日志
- InterruptedException 中断状态恢复
- BaseNettyConfig Boolean 包装类型改基本类型
- BaseException cause 构造函数修复
- 新增安全配置项 (命令白名单/HMAC/下载安全/握手认证)
## 新增安全模块
- security/AuthHandshakeHandler.java - Netty握手认证
- security/HmacSignVerifier.java - HMAC签名验证
- security/SecureCommandExecutor.java - 安全命令执行器
- security/SecureFileDownloader.java - 安全文件下载器
- security/SecurityProperties.java - 安全配置属性
- security/SystemCommandRunner.java - 系统命令运行器
- 对应单元测试 4个
版本更新: pom.xml 0.0.1-SNAPSHOT -> 1.21-beta
application.yml 1.0 -> 1.21
涉及文件: 34个 (21 modified + 13 new)
代码变更: +1085/-868 lines
|
2026-07-22 12:58:52 +08:00 |
|
gaoyutao
|
e58137c319
|
修正脚本执行策略上报信息
|
2025-09-29 20:47:26 +08:00 |
|
qiminbao
|
6bae49ee3b
|
策略脚本执行返回数据优化
|
2025-09-29 20:13:15 +08:00 |
|
qiminbao
|
110932509a
|
策略脚本执行返回数据优化
|
2025-09-29 17:34:59 +08:00 |
|
qiminbao
|
394e6b807c
|
线程池优化
|
2025-09-29 13:57:04 +08:00 |
|
qiminbao
|
26daf92261
|
断开连接取消定时任务
|
2025-09-29 09:36:35 +08:00 |
|
qiminbao
|
da16318bf5
|
交换机端口过滤
|
2025-09-28 18:23:21 +08:00 |
|
qiminbao
|
321235fc23
|
交换机端口过滤
|
2025-09-28 15:58:34 +08:00 |
|
qiminbao
|
179e29d9a5
|
工具类-时间优化
|
2025-09-28 11:00:38 +08:00 |
|
qiminbao
|
72626c2b69
|
交换机采集数据优化
|
2025-09-28 09:25:57 +08:00 |
|
qiminbao
|
6c098b3950
|
交换机采集数据优化
|
2025-09-26 15:03:48 +08:00 |
|
qiminbao
|
b07abc881d
|
交换机采集数据优化
|
2025-09-26 14:13:19 +08:00 |
|
qiminbao
|
90af1f83ca
|
交换机采集数据优化
|
2025-09-26 12:57:31 +08:00 |
|
qiminbao
|
8fdf5d5a1a
|
交换机采集数据优化
|
2025-09-26 11:02:30 +08:00 |
|
qiminbao
|
6555a6c683
|
交换机采集数据优化
|
2025-09-26 10:34:31 +08:00 |
|
qiminbao
|
63672a320f
|
交换机采集数据优化
|
2025-09-26 10:20:45 +08:00 |
|
qiminbao
|
6d99d3b589
|
交换机采集数据优化
|
2025-09-25 18:43:30 +08:00 |
|
qiminbao
|
ca8f8ee257
|
Agent版本更新优化
|
2025-09-25 17:19:40 +08:00 |
|
qiminbao
|
40f2ab92fa
|
脚本执行返回
|
2025-09-24 11:51:43 +08:00 |
|
qiminbao
|
12ed5f6411
|
交换机时间戳
|
2025-09-23 14:52:15 +08:00 |
|
qiminbao
|
425c54160b
|
交换机采集时间修正
|
2025-09-23 13:58:47 +08:00 |
|
qiminbao
|
8bafa180d8
|
交换机采集时间修正
|
2025-09-23 11:44:26 +08:00 |
|
qiminbao
|
c139da0d91
|
TCP数据包优化
|
2025-09-23 11:30:51 +08:00 |
|
qiminbao
|
86415bf526
|
TCP数据包优化
|
2025-09-23 09:45:00 +08:00 |
|
qiminbao
|
9e75926e77
|
交换机采集信息优化
|
2025-09-23 08:41:05 +08:00 |
|
qiminbao
|
53b531fe69
|
交换机采集信息优化
|
2025-09-23 08:38:25 +08:00 |
|
qiminbao
|
30be98fde9
|
交换机采集信息优化
|
2025-09-22 23:41:25 +08:00 |
|
qiminbao
|
95eafb0901
|
交换机采集信息优化
|
2025-09-22 22:18:26 +08:00 |
|
qiminbao
|
1b01d7008b
|
全局变量初始化
|
2025-09-22 19:49:03 +08:00 |
|
qiminbao
|
f32d86938a
|
开启/更新采集测试及优化
|
2025-09-13 14:21:20 +08:00 |
|
qiminbao
|
b2243cfb5b
|
告警、脚本策略执行测试优化
|
2025-09-12 18:52:17 +08:00 |
|
qiminbao
|
71ad483c26
|
采集业务细节优化
|
2025-09-12 14:34:43 +08:00 |
|
qiminbao
|
2c29156748
|
告警设置、告警上报
|
2025-09-11 18:33:14 +08:00 |
|
qiminbao
|
2c23692f01
|
初始化
|
2025-09-10 15:46:28 +08:00 |
|
qiminbao
|
4330ffdff1
|
初始化
|
2025-09-10 15:36:49 +08:00 |
|