添加硬件监控信息

This commit is contained in:
2026-06-18 09:08:05 +08:00
parent 9f718b783b
commit fbc3221763
4 changed files with 46 additions and 1 deletions
@@ -17,6 +17,7 @@ import xtools.boot.api.model.dto.Result;
import xtools.boot.core.utils.EnumUtils;
import xtools.boot.db.mybatis.enums.MySqlMonitorEnums;
import xtools.boot.elasticsearch.enums.ElasticsearchMonitorEnums;
import xtools.extend.dto.monitor.HardwareInfoDto;
import java.util.List;
@@ -89,4 +90,10 @@ public class SysMonitorController {
return sysMonitorService.elasticsearch(elasticsearchMonitorEnums);
}
@Operation(summary = "硬件信息")
@GetMapping("/hardware")
public Result<HardwareInfoDto> hardware() {
return sysMonitorService.hardware();
}
}
@@ -8,6 +8,7 @@ import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import xtools.app.sys.risk.IpRisk;
import xtools.app.sys.risk.UriRisk;
import xtools.app.sys.service.SysMonitorService;
import xtools.app.sys.service.SysParamService;
import xtools.app.sys.service.SysPermService;
import xtools.app.sys.service.SysUpdateHistoryService;
@@ -44,6 +45,8 @@ public class InitSys implements ApplicationRunner {
private final UriRisk uriRisk;
private final SysMonitorService sysMonitorService;
@Override
public void run(@NonNull ApplicationArguments args) {
ScopedValue.where(LogTrackHolder.getScoped(), LogTrackHolder.newMain()).run(() -> {
@@ -64,5 +67,6 @@ public class InitSys implements ApplicationRunner {
sysUpdateHistoryService.init();
ipRisk.init();
uriRisk.init();
sysMonitorService.init();
}
}
@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
import xtools.boot.api.model.dto.Result;
import xtools.boot.db.mybatis.enums.MySqlMonitorEnums;
import xtools.boot.elasticsearch.enums.ElasticsearchMonitorEnums;
import xtools.extend.dto.monitor.HardwareInfoDto;
import java.util.List;
@@ -20,6 +21,11 @@ import java.util.List;
*/
public interface SysMonitorService {
/**
* 初始化
*/
void init();
/**
* 获取redis监控数据
*
@@ -42,4 +48,11 @@ public interface SysMonitorService {
* @return elasticsearch监控数据
*/
Result<Object> elasticsearch(ElasticsearchMonitorEnums type);
/**
* 获取硬件信息
*
* @return 硬件信息
*/
Result<HardwareInfoDto> hardware();
}
@@ -5,12 +5,15 @@ import jakarta.annotation.Resource;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import xtools.app.sys.service.SysMonitorService;
import xtools.base.config.BaseParams;
import xtools.boot.api.model.dto.Result;
import xtools.boot.cache.redis.monitor.RedisMonitor;
import xtools.boot.db.mybatis.enums.MySqlMonitorEnums;
import xtools.boot.db.mybatis.monitor.MySqlMonitor;
import xtools.boot.elasticsearch.enums.ElasticsearchMonitorEnums;
import xtools.boot.elasticsearch.monitor.ElasticsearchMonitor;
import xtools.extend.HardwareMonitor;
import xtools.extend.dto.monitor.HardwareInfoDto;
import java.util.List;
@@ -27,7 +30,7 @@ import java.util.List;
*/
@Primary
@Service
public class SysMonitorServiceImpl implements SysMonitorService {
public class SysMonitorServiceImpl implements SysMonitorService, BaseParams {
@Resource
private RedisMonitor redisMonitor;
@@ -38,6 +41,14 @@ public class SysMonitorServiceImpl implements SysMonitorService {
@Resource
private ElasticsearchMonitor elasticsearchMonitor;
/**
* 初始化
*/
@Override
public void init() {
HardwareMonitor.getInstance().start(CP_NUM1, CP_NUM60 * CP_NUM10);
}
/**
* 获取redis监控数据
*
@@ -69,4 +80,14 @@ public class SysMonitorServiceImpl implements SysMonitorService {
public Result<Object> elasticsearch(ElasticsearchMonitorEnums type) {
return Result.ok(elasticsearchMonitor.info(type));
}
/**
* 获取硬件信息
*
* @return 硬件信息
*/
@Override
public Result<HardwareInfoDto> hardware() {
return Result.ok(HardwareMonitor.getInstance().get());
}
}