123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- 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;
- @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<>();
- 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:获取磁盘信息
- }
|