diff --git a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/RemoteRocketMqService.java b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/RemoteRocketMqService.java index 45085a0..37a64b3 100644 --- a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/RemoteRocketMqService.java +++ b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/RemoteRocketMqService.java @@ -3,10 +3,7 @@ package com.tongran.system.api; import com.tongran.common.core.constant.SecurityConstants; import com.tongran.common.core.constant.ServiceNameConstants; import com.tongran.common.core.domain.R; -import com.tongran.system.api.domain.RmAlarmRecordRemote; -import com.tongran.system.api.domain.RmDeployScriptRemote; -import com.tongran.system.api.domain.RmMonitorPolicyRemote; -import com.tongran.system.api.domain.RmNetworkInterfaceRemote; +import com.tongran.system.api.domain.*; import com.tongran.system.api.factory.RemoteRocketMqFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @@ -106,4 +103,13 @@ public interface RemoteRocketMqService { */ @PostMapping("/networkInterfaceChild/innerGetChildList") public R> innerGetChildList(@RequestBody RmNetworkInterfaceRemote rmNetworkInterfaceRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 下发TCPDUMP默认策略 + * @param rmTcpdumpConfigRemote + * @param source + * @return + */ + @PostMapping("/rmTcpdumpConfig/innerInsertRmTcpdumpConfig") + public R innerInsertRmTcpdumpConfig(@RequestBody RmTcpdumpConfigRemote rmTcpdumpConfigRemote, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmResourceRegistrationRemote.java b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmResourceRegistrationRemote.java index bfba05c..ad674e0 100644 --- a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmResourceRegistrationRemote.java +++ b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmResourceRegistrationRemote.java @@ -5,6 +5,7 @@ import com.tongran.common.core.annotation.Excel; import com.tongran.common.core.web.domain.BaseEntity; import lombok.Data; +import java.math.BigDecimal; import java.util.Date; /** @@ -186,5 +187,7 @@ public class RmResourceRegistrationRemote extends BaseEntity private String frpcRemotePort; /** FRPC服务器地址 */ private String frpcServerAddr; + /** 出省流量占比 */ + private BigDecimal outboundRate; } diff --git a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmTcpdumpConfigRemote.java b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmTcpdumpConfigRemote.java new file mode 100644 index 0000000..a8a38cf --- /dev/null +++ b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/domain/RmTcpdumpConfigRemote.java @@ -0,0 +1,39 @@ +package com.tongran.system.api.domain; + +import com.tongran.common.core.annotation.Excel; +import com.tongran.common.core.web.domain.BaseEntity; +import lombok.Data; + +/** + * tcpdump探测策略对象 rm_tcpdump_config + * + * @author tongran + * @date 2026-01-21 + */ +@Data +public class RmTcpdumpConfigRemote extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 客户端ID */ + @Excel(name = "客户端ID") + private String clientId; + + /** 开启探测(0:否,1:是) */ + @Excel(name = "开启探测(0:否,1:是)") + private Integer detectFlag; + + /** 探测频率 */ + @Excel(name = "探测频率") + private String frequency; + + /** 探测时间列表(多个时间用,分隔) */ + @Excel(name = "探测时间列表(多个时间用,分隔)") + private String detectTimes; + + private String clientIds; + +} diff --git a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/factory/RemoteRocketMqFallbackFactory.java b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/factory/RemoteRocketMqFallbackFactory.java index 5c173b5..cb17d82 100644 --- a/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/factory/RemoteRocketMqFallbackFactory.java +++ b/tongran-api/tongran-api-system/src/main/java/com/tongran/system/api/factory/RemoteRocketMqFallbackFactory.java @@ -2,10 +2,7 @@ package com.tongran.system.api.factory; import com.tongran.common.core.domain.R; import com.tongran.system.api.RemoteRocketMqService; -import com.tongran.system.api.domain.RmAlarmRecordRemote; -import com.tongran.system.api.domain.RmDeployScriptRemote; -import com.tongran.system.api.domain.RmMonitorPolicyRemote; -import com.tongran.system.api.domain.RmNetworkInterfaceRemote; +import com.tongran.system.api.domain.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -88,6 +85,11 @@ public class RemoteRocketMqFallbackFactory implements FallbackFactory> innerGetChildList(RmNetworkInterfaceRemote rmNetworkInterfaceRemote, String source) { return R.fail(throwable.getMessage()); } + + @Override + public R innerInsertRmTcpdumpConfig(RmTcpdumpConfigRemote rmTcpdumpConfigRemote, String source) { + return R.fail(throwable.getMessage()); + } }; } } diff --git a/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmResourceRegistration.java b/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmResourceRegistration.java index 5bed217..46bf2fc 100644 --- a/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmResourceRegistration.java +++ b/tongran-modules/tongran-system/src/main/java/com/tongran/system/domain/RmResourceRegistration.java @@ -88,6 +88,9 @@ public class RmResourceRegistration extends BaseEntity */ @Excel(name = "心跳时间间隔") private Integer heartbeatInterval; + /** 出省流量占比 */ + @Excel(name = "出省流量占比") + private BigDecimal outboundRate; /** 需要绑定的网卡信息 */ private List bindNetworkMsg; @@ -258,10 +261,12 @@ public class RmResourceRegistration extends BaseEntity /** 昨日95值排序 1正序 2倒叙 3不排序 4 cpu内存倒叙*/ private Integer bandwidthResultSort; /** cpu利用率 */ + @Excel(name = "cpu利用率") private BigDecimal cpuUtil; /** cpu核数 */ private BigDecimal cpuCores; /** 内存使用率 */ + @Excel(name = "内存使用率") private BigDecimal memUtil; /** 总内存 */ private Integer memTotalSize; diff --git a/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmResourceRegistrationServiceImpl.java b/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmResourceRegistrationServiceImpl.java index 9a3c5ab..277c40e 100644 --- a/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmResourceRegistrationServiceImpl.java +++ b/tongran-modules/tongran-system/src/main/java/com/tongran/system/service/impl/RmResourceRegistrationServiceImpl.java @@ -1063,6 +1063,11 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio updateData.setHardwareSn(rmResourceRegistration.getHardwareSn()); needUpdate = true; } + if(rmResourceRegistration.getOutboundRate()!=null){ + // 设置出省流量百分比 + updateData.setOutboundRate(rmResourceRegistration.getOutboundRate()); + needUpdate = true; + } if(needUpdate){ updateData.setId(exits.getId()); rmResourceRegistrationMapper.updateRmResourceRegistration(updateData); @@ -1193,6 +1198,14 @@ public class RmResourceRegistrationServiceImpl implements IRmResourceRegistratio // 注册成功,下发优先级为0的策略 remoteRocketMqService.issueDefaultPolicyByClientId(clientId, SecurityConstants.INNER); + // 下发tcpdump默认策略 + String detectTimes = "20:00:00"; + RmTcpdumpConfigRemote tcpdumpInsertData = new RmTcpdumpConfigRemote(); + tcpdumpInsertData.setClientId(clientId); + tcpdumpInsertData.setDetectFlag(1); + tcpdumpInsertData.setFrequency("1"); + tcpdumpInsertData.setDetectTimes(detectTimes); + remoteRocketMqService.innerInsertRmTcpdumpConfig(tcpdumpInsertData, SecurityConstants.INNER); } } diff --git a/tongran-modules/tongran-system/src/main/resources/mapper/system/RmResourceRegistrationMapper.xml b/tongran-modules/tongran-system/src/main/resources/mapper/system/RmResourceRegistrationMapper.xml index 257218b..4e0518b 100644 --- a/tongran-modules/tongran-system/src/main/resources/mapper/system/RmResourceRegistrationMapper.xml +++ b/tongran-modules/tongran-system/src/main/resources/mapper/system/RmResourceRegistrationMapper.xml @@ -25,13 +25,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, client_id, hardware_sn, business_name, logical_node_id, multi_public_ip_status, registration_status, online_status, resource_type, agent_version, create_time, update_time, heartbeat_count, heartbeat_interval, onboard_time, remark, create_by, update_by, reported_bandwidth, del_alarm_time from rm_resource_registration + select id, client_id, hardware_sn, business_name, logical_node_id, multi_public_ip_status, registration_status, online_status, resource_type, agent_version, create_time, update_time, heartbeat_count, heartbeat_interval, onboard_time, remark, create_by, update_by, reported_bandwidth, del_alarm_time, outbound_rate from rm_resource_registration