package org.jeecg.modules.monitor.controller;
|
|
import com.alibaba.fastjson.JSONArray;
|
import lombok.extern.slf4j.Slf4j;
|
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.modules.monitor.domain.RedisInfo;
|
import org.jeecg.modules.monitor.service.RedisService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import javax.swing.filechooser.FileSystemView;
|
import java.io.File;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @Description: ActuatorRedisController
|
* @author: jeecg-boot
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("/sys/actuator/redis")
|
public class ActuatorRedisController {
|
|
@Autowired
|
private RedisService redisService;
|
|
/**
|
* Redis详细信息
|
* @return
|
* @throws Exception
|
*/
|
@GetMapping("/info")
|
public Result<?> getRedisInfo() throws Exception {
|
List<RedisInfo> infoList = this.redisService.getRedisInfo();
|
//log.info(infoList.toString());
|
return Result.ok(infoList);
|
}
|
|
@GetMapping("/keysSize")
|
public Map<String, Object> getKeysSize() throws Exception {
|
return redisService.getKeysSize();
|
}
|
|
/**
|
* 获取redis key数量 for 报表
|
* @return
|
* @throws Exception
|
*/
|
@GetMapping("/keysSizeForReport")
|
public Map<String, JSONArray> getKeysSizeReport() throws Exception {
|
return redisService.getMapForReport("1");
|
}
|
/**
|
* 获取redis 内存 for 报表
|
*
|
* @return
|
* @throws Exception
|
*/
|
@GetMapping("/memoryForReport")
|
public Map<String, JSONArray> memoryForReport() throws Exception {
|
return redisService.getMapForReport("2");
|
}
|
/**
|
* 获取redis 全部信息 for 报表
|
* @return
|
* @throws Exception
|
*/
|
@GetMapping("/infoForReport")
|
public Map<String, JSONArray> infoForReport() throws Exception {
|
return redisService.getMapForReport("3");
|
}
|
|
@GetMapping("/memoryInfo")
|
public Map<String, Object> getMemoryInfo() throws Exception {
|
return redisService.getMemoryInfo();
|
}
|
|
//update-begin--Author:zhangweijian Date:20190425 for:获取磁盘信息
|
/**
|
* @功能:获取磁盘信息
|
* @param request
|
* @param response
|
* @return
|
*/
|
@GetMapping("/queryDiskInfo")
|
public Result<List<Map<String,Object>>> queryDiskInfo(HttpServletRequest request, HttpServletResponse response){
|
Result<List<Map<String,Object>>> res = new Result<>();
|
try {
|
// 当前文件系统类
|
FileSystemView fsv = FileSystemView.getFileSystemView();
|
// 列出所有windows 磁盘
|
File[] fs = File.listRoots();
|
log.info("查询磁盘信息:"+fs.length+"个");
|
List<Map<String,Object>> list = new ArrayList<>();
|
|
for (int i = 0; i < fs.length; i++) {
|
if(fs[i].getTotalSpace()==0) {
|
continue;
|
}
|
Map<String,Object> map = new HashMap(5);
|
map.put("name", fsv.getSystemDisplayName(fs[i]));
|
map.put("max", fs[i].getTotalSpace());
|
map.put("rest", fs[i].getFreeSpace());
|
map.put("restPPT", (fs[i].getTotalSpace()-fs[i].getFreeSpace())*100/fs[i].getTotalSpace());
|
list.add(map);
|
log.info(map.toString());
|
}
|
res.setResult(list);
|
res.success("查询成功");
|
} catch (Exception e) {
|
res.error500("查询失败"+e.getMessage());
|
}
|
return res;
|
}
|
//update-end--Author:zhangweijian Date:20190425 for:获取磁盘信息
|
}
|