Browse Source

监控模块

reghao 5 years ago
parent
commit
69f6aaa752
47 changed files with 191 additions and 267 deletions
  1. 2 2
      common/src/main/java/cn/reghao/autodop/common/stat/jvm/pojo/BufferPoolStat.java
  2. 2 2
      common/src/main/java/cn/reghao/autodop/common/stat/jvm/pojo/MemoryStat.java
  3. 11 11
      common/src/main/java/cn/reghao/autodop/common/stat/linux/CPU.java
  4. 5 12
      common/src/main/java/cn/reghao/autodop/common/stat/linux/Disk.java
  5. 3 9
      common/src/main/java/cn/reghao/autodop/common/stat/linux/LinuxSys.java
  6. 5 5
      common/src/main/java/cn/reghao/autodop/common/stat/linux/Memory.java
  7. 23 63
      common/src/main/java/cn/reghao/autodop/common/stat/linux/Network.java
  8. 5 5
      common/src/main/java/cn/reghao/autodop/common/stat/linux/OS.java
  9. 3 3
      common/src/main/java/cn/reghao/autodop/common/stat/linux/Process.java
  10. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/contant/ProcFile.java
  11. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/contant/ProcessState.java
  12. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/contant/TcpState.java
  13. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/CPUInfo.java
  14. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/DiskInfo.java
  15. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/MemoryInfo.java
  16. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/NetworkInfo.java
  17. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/OSInfo.java
  18. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/OSStat.java
  19. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/SysInfo.java
  20. 2 2
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/SysStat.java
  21. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/cpu/CpuStat.java
  22. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/cpu/CpuStats.java
  23. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/disk/DiskStat.java
  24. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/disk/DiskUsage.java
  25. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/memory/MemStat.java
  26. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/memory/MemUsage.java
  27. 6 5
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/network/TCPConnStat.java
  28. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/os/ProcessStat.java
  29. 21 0
      common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/os/SysStat.java
  30. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/AbstractPercentageCalculator.java
  31. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/ByteConverter.java
  32. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/ByteType.java
  33. 3 3
      common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/CpuPercentageCalculator.java
  34. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/IpAddressConversion.java
  35. 3 3
      common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/MemCalculator.java
  36. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/TimeConverter.java
  37. 1 1
      common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/TimeType.java
  38. 0 31
      common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/network/NetCardStat.java
  39. 0 21
      common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/os/SysStat.java
  40. 1 1
      dagent/src/main/java/cn/reghao/autodop/dagent/node/SysStatBeanConfig.java
  41. 4 19
      dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/AgentInfo.java
  42. 0 23
      dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/MachineInfo.java
  43. 5 5
      dagent/src/main/java/cn/reghao/autodop/dagent/service/MachineStatusScheduler.java
  44. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/config/WebSecurityConfig.java
  45. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/jwt/JwtTokenFilter.java
  46. 22 17
      dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/SysController.java
  47. 40 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/SysService.java

+ 2 - 2
common/src/main/java/cn/reghao/autodop/common/stat/jvm/pojo/BufferPoolStat.java

@@ -1,7 +1,7 @@
 package cn.reghao.autodop.common.stat.jvm.pojo;
 
-import cn.reghao.autodop.common.stat.sys.utils.ByteConverter;
-import cn.reghao.autodop.common.stat.sys.utils.ByteType;
+import cn.reghao.autodop.common.stat.linux.utils.ByteConverter;
+import cn.reghao.autodop.common.stat.linux.utils.ByteType;
 import lombok.Data;
 
 import java.lang.management.BufferPoolMXBean;

+ 2 - 2
common/src/main/java/cn/reghao/autodop/common/stat/jvm/pojo/MemoryStat.java

@@ -1,7 +1,7 @@
 package cn.reghao.autodop.common.stat.jvm.pojo;
 
-import cn.reghao.autodop.common.stat.sys.utils.ByteConverter;
-import cn.reghao.autodop.common.stat.sys.utils.ByteType;
+import cn.reghao.autodop.common.stat.linux.utils.ByteConverter;
+import cn.reghao.autodop.common.stat.linux.utils.ByteType;
 import lombok.Data;
 
 import java.lang.management.MemoryUsage;

+ 11 - 11
common/src/main/java/cn/reghao/autodop/common/stat/sys/CPU.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/CPU.java

@@ -1,11 +1,11 @@
-package cn.reghao.autodop.common.stat.sys;
+package cn.reghao.autodop.common.stat.linux;
 
-import cn.reghao.autodop.common.stat.sys.contant.ProcFile;
-import cn.reghao.autodop.common.stat.sys.pojo.CPUInfo;
-import cn.reghao.autodop.common.stat.sys.pojo.cpu.CpuStats;
-import cn.reghao.autodop.common.stat.sys.pojo.cpu.CpuStat;
-import cn.reghao.autodop.common.stat.sys.utils.AbstractPercentageCalculator;
-import cn.reghao.autodop.common.stat.sys.utils.CpuPercentageCalculator;
+import cn.reghao.autodop.common.stat.linux.contant.ProcFile;
+import cn.reghao.autodop.common.stat.linux.pojo.CPUInfo;
+import cn.reghao.autodop.common.stat.linux.pojo.cpu.CpuStats;
+import cn.reghao.autodop.common.stat.linux.pojo.cpu.CpuStat;
+import cn.reghao.autodop.common.stat.linux.utils.AbstractPercentageCalculator;
+import cn.reghao.autodop.common.stat.linux.utils.CpuPercentageCalculator;
 import cn.reghao.autodop.common.utils.text.TextFile;
 import lombok.extern.slf4j.Slf4j;
 
@@ -92,9 +92,9 @@ public class CPU {
 
     public static void main(String[] args) throws InterruptedException {
         CPU cpu = new CPU();
-        /*while (true) {
-            log.info("cpu usage -> {}", cpu.topCpu(1000));
-        }*/
-        cpu.info();
+        while (true) {
+            log.info("cpu usage -> {}", cpu.stat(3000));
+        }
+        //cpu.info();
     }
 }

+ 5 - 12
common/src/main/java/cn/reghao/autodop/common/stat/sys/Disk.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/Disk.java

@@ -1,12 +1,11 @@
-package cn.reghao.autodop.common.stat.sys;
+package cn.reghao.autodop.common.stat.linux;
 
-import cn.reghao.autodop.common.stat.sys.pojo.DiskInfo;
-import cn.reghao.autodop.common.stat.sys.utils.ByteConverter;
-import cn.reghao.autodop.common.stat.sys.utils.ByteType;
+import cn.reghao.autodop.common.stat.linux.pojo.DiskInfo;
+import cn.reghao.autodop.common.stat.linux.utils.ByteConverter;
+import cn.reghao.autodop.common.stat.linux.utils.ByteType;
 import lombok.extern.slf4j.Slf4j;
 
 import java.io.IOException;
-import java.nio.file.FileSystem;
 import java.nio.file.FileSystems;
 import java.util.*;
 
@@ -18,11 +17,7 @@ import java.util.*;
  */
 @Slf4j
 public class Disk {
-    private final String whiteSpace = "\\s+";
-
     /**
-     * df -h 命令
-     *
      * @param
      * @return
      * @date 2019-10-29 上午9:38
@@ -30,9 +25,7 @@ public class Disk {
     public List<DiskInfo> info() {
         List<DiskInfo> list = new ArrayList<>();
         ByteConverter convert = new ByteConverter();
-        FileSystem fs = FileSystems.getDefault();
-
-        fs.getFileStores().forEach(fileStore -> {
+        FileSystems.getDefault().getFileStores().forEach(fileStore -> {
             try {
                 String fileSystem = fileStore.name();
                 if (fileSystem.startsWith("/dev")) {

+ 3 - 9
common/src/main/java/cn/reghao/autodop/common/stat/sys/LinuxSys.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/LinuxSys.java

@@ -1,7 +1,7 @@
-package cn.reghao.autodop.common.stat.sys;
+package cn.reghao.autodop.common.stat.linux;
 
-import cn.reghao.autodop.common.stat.sys.pojo.SysInfo;
-import cn.reghao.autodop.common.stat.sys.pojo.SysStat;
+import cn.reghao.autodop.common.stat.linux.pojo.SysInfo;
+import cn.reghao.autodop.common.stat.linux.pojo.SysStat;
 
 /**
  * @author reghao
@@ -42,10 +42,4 @@ public class LinuxSys {
         sysStat.setMemory(memory.info());
         return sysStat;
     }
-
-    public static void main(String[] args) {
-        LinuxSys linuxSys = new LinuxSys();
-        SysInfo sysInfo = linuxSys.info();
-        System.out.println();
-    }
 }

+ 5 - 5
common/src/main/java/cn/reghao/autodop/common/stat/sys/Memory.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/Memory.java

@@ -1,9 +1,9 @@
-package cn.reghao.autodop.common.stat.sys;
+package cn.reghao.autodop.common.stat.linux;
 
-import cn.reghao.autodop.common.stat.sys.contant.ProcFile;
-import cn.reghao.autodop.common.stat.sys.pojo.MemoryInfo;
-import cn.reghao.autodop.common.stat.sys.utils.ByteConverter;
-import cn.reghao.autodop.common.stat.sys.utils.ByteType;
+import cn.reghao.autodop.common.stat.linux.contant.ProcFile;
+import cn.reghao.autodop.common.stat.linux.pojo.MemoryInfo;
+import cn.reghao.autodop.common.stat.linux.utils.ByteConverter;
+import cn.reghao.autodop.common.stat.linux.utils.ByteType;
 import cn.reghao.autodop.common.utils.text.TextFile;
 
 import java.util.LinkedHashMap;

+ 23 - 63
common/src/main/java/cn/reghao/autodop/common/stat/sys/Network.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/Network.java

@@ -1,16 +1,13 @@
-package cn.reghao.autodop.common.stat.sys;
-
-import cn.reghao.autodop.common.stat.sys.contant.ProcFile;
-import cn.reghao.autodop.common.stat.sys.contant.TcpState;
-import cn.reghao.autodop.common.stat.sys.pojo.network.NetCardStat;
-import cn.reghao.autodop.common.stat.sys.pojo.network.NetConnStat;
-import cn.reghao.autodop.common.stat.sys.pojo.os.ProcessStat;
-import cn.reghao.autodop.common.stat.sys.pojo.NetworkInfo;
-import cn.reghao.autodop.common.stat.sys.utils.IpAddressConversion;
-import cn.reghao.autodop.common.utils.StringUtil;
+package cn.reghao.autodop.common.stat.linux;
+
+import cn.reghao.autodop.common.stat.linux.contant.ProcFile;
+import cn.reghao.autodop.common.stat.linux.contant.TcpState;
+import cn.reghao.autodop.common.stat.linux.pojo.network.TCPConnStat;
+import cn.reghao.autodop.common.stat.linux.pojo.os.ProcessStat;
+import cn.reghao.autodop.common.stat.linux.pojo.NetworkInfo;
+import cn.reghao.autodop.common.stat.linux.utils.IpAddressConversion;
 import cn.reghao.autodop.common.utils.text.TextFile;
 
-import java.io.IOException;
 import java.net.*;
 import java.util.ArrayList;
 import java.util.Enumeration;
@@ -77,72 +74,37 @@ public class Network {
         return String.join("-", hexadecimal);
     }
 
-    public List<NetCardStat> stat() {
-        List<NetCardStat> cardStats = new ArrayList<>();
-        String[] devs = textFile.readFile(ProcFile.DEV).split(System.lineSeparator());
-        for (int i = 2; i < devs.length; i++) {
-            String[] data = StringUtil.format(devs[i]).split(" ");
-            NetCardStat cardStat = new NetCardStat();
-            cardStat.setIface(data[0]);
-            cardStat.setRecvBytes(Long.parseLong(data[1]));
-            cardStat.setRecvPackets(Long.parseLong(data[2]));
-            cardStat.setRecvErrs(Long.parseLong(data[3]));
-            cardStat.setRecvDrop(Long.parseLong(data[4]));
-            cardStat.setRecvFifo(Long.parseLong(data[5]));
-            cardStat.setRecvFrame(Long.parseLong(data[6]));
-            cardStat.setRecvCompressed(Long.parseLong(data[7]));
-            cardStat.setRecvMulticast(Long.parseLong(data[8]));
-            cardStat.setSendBytes(Long.parseLong(data[9]));
-            cardStat.setSendPackets(Long.parseLong(data[10]));
-            cardStat.setSendErrs(Long.parseLong(data[11]));
-            cardStat.setSendDrop(Long.parseLong(data[12]));
-            cardStat.setSendFifo(Long.parseLong(data[13]));
-            cardStat.setSendColls(Long.parseLong(data[14]));
-            cardStat.setSendCarrier(Long.parseLong(data[15]));
-            cardStat.setSendCompressed(Long.parseLong(data[16]));
-
-            cardStats.add(cardStat);
-        }
-
-        return cardStats;
-    }
-
     /**
-     * netstat -anp|grep '^tcp.*' 命令
-     *
      * @date 2019-10-25 上午8:59
      */
-    public List<NetConnStat> netstat() {
-        new Process().topProcess();
-
+    public List<TCPConnStat> tcpStat() {
         String[] conns = textFile.readFile(ProcFile.TCP).split(System.lineSeparator());
-
-        List<NetConnStat> list = new ArrayList<>();
+        List<TCPConnStat> list = new ArrayList<>();
         for (int i = 1; i < conns.length; i++) {
             String[] fields = conns[i].split("\\s+");
-            NetConnStat netConnStat = new NetConnStat();
+            TCPConnStat TCPConnStat = new TCPConnStat();
+
             String localAddr = fields[2].split(":")[0];
             String localPort = fields[2].split(":")[1];
-            netConnStat.setLocalAddr(conversion.dotDecimal(localAddr));
-            netConnStat.setLocalPort(Integer.valueOf(localPort, 16));
+            TCPConnStat.setLocalAddr(conversion.dotDecimal(localAddr));
+            TCPConnStat.setLocalPort(Integer.valueOf(localPort, 16));
 
             String remoteAddr = fields[3].split(":")[0];
             String remotePort = fields[3].split(":")[1];
-            netConnStat.setRemoteAddr(conversion.dotDecimal(remoteAddr));
-            netConnStat.setRemotePort(Integer.valueOf(remotePort, 16));
-            netConnStat.setState(tcpState(Integer.valueOf(fields[4], 16)));
+            TCPConnStat.setRemoteAddr(conversion.dotDecimal(remoteAddr));
+            TCPConnStat.setRemotePort(Integer.valueOf(remotePort, 16));
+            TCPConnStat.setState(tcpState(Integer.valueOf(fields[4], 16)));
 
             String sendq = fields[5].split(":")[0];
             String recvq = fields[5].split(":")[1];
-            netConnStat.setSendq(Long.valueOf(sendq, 16));
-            netConnStat.setRecvq(Long.valueOf(recvq, 16));
+            TCPConnStat.setSendq(Long.valueOf(sendq, 16));
+            TCPConnStat.setRecvq(Long.valueOf(recvq, 16));
 
             long inode = Long.parseLong(fields[10]);
-            netConnStat.setProcess(ProcessStat.socketInodes.get(inode));
+            TCPConnStat.setProcess(ProcessStat.socketInodes.get(inode));
+            list.add(TCPConnStat);
 
-            list.add(netConnStat);
         }
-
         return list;
     }
 
@@ -175,10 +137,8 @@ public class Network {
         }
     }
 
-    public static void main(String[] args) throws IOException {
+    public static void main(String[] args) {
         Network network = new Network();
-        network.netstat();
-        //network.ifconfig();
-        //network.info();
+        network.tcpStat();
     }
 }

+ 5 - 5
common/src/main/java/cn/reghao/autodop/common/stat/sys/OS.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/OS.java

@@ -1,8 +1,8 @@
-package cn.reghao.autodop.common.stat.sys;
+package cn.reghao.autodop.common.stat.linux;
 
-import cn.reghao.autodop.common.stat.sys.contant.ProcFile;
-import cn.reghao.autodop.common.stat.sys.pojo.OSInfo;
-import cn.reghao.autodop.common.stat.sys.pojo.OSStat;
+import cn.reghao.autodop.common.stat.linux.contant.ProcFile;
+import cn.reghao.autodop.common.stat.linux.pojo.OSInfo;
+import cn.reghao.autodop.common.stat.linux.pojo.OSStat;
 import cn.reghao.autodop.common.utils.DateTimeUtil;
 import cn.reghao.autodop.common.utils.text.TextFile;
 
@@ -59,6 +59,6 @@ public class OS {
 
     public static void main(String[] args) throws Exception {
         OS os = new OS();
-        os.stat();
+        os.info();
     }
 }

+ 3 - 3
common/src/main/java/cn/reghao/autodop/common/stat/sys/Process.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/Process.java

@@ -1,7 +1,7 @@
-package cn.reghao.autodop.common.stat.sys;
+package cn.reghao.autodop.common.stat.linux;
 
-import cn.reghao.autodop.common.stat.sys.contant.ProcFile;
-import cn.reghao.autodop.common.stat.sys.pojo.os.ProcessStat;
+import cn.reghao.autodop.common.stat.linux.contant.ProcFile;
+import cn.reghao.autodop.common.stat.linux.pojo.os.ProcessStat;
 import cn.reghao.autodop.common.utils.text.TextFile;
 import lombok.extern.slf4j.Slf4j;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/contant/ProcFile.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/contant/ProcFile.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.contant;
+package cn.reghao.autodop.common.stat.linux.contant;
 
 /**
  * /proc 文件系统中的文件路径

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/contant/ProcessState.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/contant/ProcessState.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.contant;
+package cn.reghao.autodop.common.stat.linux.contant;
 
 /**
  * 进程状态

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/contant/TcpState.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/contant/TcpState.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.contant;
+package cn.reghao.autodop.common.stat.linux.contant;
 
 /**
  * TCP 状态

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/CPUInfo.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/CPUInfo.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo;
+package cn.reghao.autodop.common.stat.linux.pojo;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/DiskInfo.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/DiskInfo.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo;
+package cn.reghao.autodop.common.stat.linux.pojo;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/MemoryInfo.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/MemoryInfo.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo;
+package cn.reghao.autodop.common.stat.linux.pojo;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/NetworkInfo.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/NetworkInfo.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo;
+package cn.reghao.autodop.common.stat.linux.pojo;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/OSInfo.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/OSInfo.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo;
+package cn.reghao.autodop.common.stat.linux.pojo;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/OSStat.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/OSStat.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo;
+package cn.reghao.autodop.common.stat.linux.pojo;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/SysInfo.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/SysInfo.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo;
+package cn.reghao.autodop.common.stat.linux.pojo;
 
 import lombok.Data;
 

+ 2 - 2
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/SysStat.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/SysStat.java

@@ -1,6 +1,6 @@
-package cn.reghao.autodop.common.stat.sys.pojo;
+package cn.reghao.autodop.common.stat.linux.pojo;
 
-import cn.reghao.autodop.common.stat.sys.pojo.cpu.CpuStat;
+import cn.reghao.autodop.common.stat.linux.pojo.cpu.CpuStat;
 import lombok.Data;
 
 import java.util.List;

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/cpu/CpuStat.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/cpu/CpuStat.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo.cpu;
+package cn.reghao.autodop.common.stat.linux.pojo.cpu;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/cpu/CpuStats.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/cpu/CpuStats.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo.cpu;
+package cn.reghao.autodop.common.stat.linux.pojo.cpu;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/disk/DiskStat.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/disk/DiskStat.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo.disk;
+package cn.reghao.autodop.common.stat.linux.pojo.disk;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/disk/DiskUsage.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/disk/DiskUsage.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo.disk;
+package cn.reghao.autodop.common.stat.linux.pojo.disk;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/memory/MemStat.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/memory/MemStat.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo.memory;
+package cn.reghao.autodop.common.stat.linux.pojo.memory;
 
 import lombok.Data;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/memory/MemUsage.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/memory/MemUsage.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo.memory;
+package cn.reghao.autodop.common.stat.linux.pojo.memory;
 
 import lombok.Data;
 

+ 6 - 5
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/network/NetConnStat.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/network/TCPConnStat.java

@@ -1,17 +1,17 @@
-package cn.reghao.autodop.common.stat.sys.pojo.network;
+package cn.reghao.autodop.common.stat.linux.pojo.network;
 
-import cn.reghao.autodop.common.stat.sys.contant.TcpState;
+import cn.reghao.autodop.common.stat.linux.contant.TcpState;
 import lombok.Data;
 
 /**
- * 网卡状态
- * ifconfg 命令输出
+ * TCP 连接状态
+ * netstat -anp|grep '^tcp.*' 命令输出
  *
  * @author reghao
  * @date 2019-10-25 08:55:25
  */
 @Data
-public class NetConnStat {
+public class TCPConnStat {
     private String localAddr;
     private int localPort;
     private String remoteAddr;
@@ -19,5 +19,6 @@ public class NetConnStat {
     private TcpState state;
     private long sendq;
     private long recvq;
+    private int pid;
     private String process;
 }

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/os/ProcessStat.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/os/ProcessStat.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.pojo.os;
+package cn.reghao.autodop.common.stat.linux.pojo.os;
 
 import lombok.Data;
 

+ 21 - 0
common/src/main/java/cn/reghao/autodop/common/stat/linux/pojo/os/SysStat.java

@@ -0,0 +1,21 @@
+package cn.reghao.autodop.common.stat.linux.pojo.os;
+
+import cn.reghao.autodop.common.stat.linux.pojo.cpu.CpuStat;
+import cn.reghao.autodop.common.stat.linux.pojo.memory.MemUsage;
+import cn.reghao.autodop.common.stat.linux.pojo.network.TCPConnStat;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author reghao
+ * @date 2020-03-20 16:32:20
+ */
+@Data
+public class SysStat {
+    private String host;
+    private CpuStat cpu;
+    private MemUsage mem;
+    private List<ProcessStat> processStats;
+    private List<TCPConnStat> connStats;
+}

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/utils/AbstractPercentageCalculator.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/AbstractPercentageCalculator.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.utils;
+package cn.reghao.autodop.common.stat.linux.utils;
 
 import java.text.DecimalFormat;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/utils/ByteConverter.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/ByteConverter.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.utils;
+package cn.reghao.autodop.common.stat.linux.utils;
 
 import java.text.DecimalFormat;
 

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/utils/ByteType.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/ByteType.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.utils;
+package cn.reghao.autodop.common.stat.linux.utils;
 
 /**
  * @author reghao

+ 3 - 3
common/src/main/java/cn/reghao/autodop/common/stat/sys/utils/CpuPercentageCalculator.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/CpuPercentageCalculator.java

@@ -1,7 +1,7 @@
-package cn.reghao.autodop.common.stat.sys.utils;
+package cn.reghao.autodop.common.stat.linux.utils;
 
-import cn.reghao.autodop.common.stat.sys.pojo.cpu.CpuStats;
-import cn.reghao.autodop.common.stat.sys.pojo.cpu.CpuStat;
+import cn.reghao.autodop.common.stat.linux.pojo.cpu.CpuStats;
+import cn.reghao.autodop.common.stat.linux.pojo.cpu.CpuStat;
 
 /**
  * @author reghao

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/utils/IpAddressConversion.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/IpAddressConversion.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.utils;
+package cn.reghao.autodop.common.stat.linux.utils;
 
 /**
  * IP 地址转换

+ 3 - 3
common/src/main/java/cn/reghao/autodop/common/stat/sys/utils/MemCalculator.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/MemCalculator.java

@@ -1,7 +1,7 @@
-package cn.reghao.autodop.common.stat.sys.utils;
+package cn.reghao.autodop.common.stat.linux.utils;
 
-import cn.reghao.autodop.common.stat.sys.pojo.memory.MemStat;
-import cn.reghao.autodop.common.stat.sys.pojo.memory.MemUsage;
+import cn.reghao.autodop.common.stat.linux.pojo.memory.MemStat;
+import cn.reghao.autodop.common.stat.linux.pojo.memory.MemUsage;
 
 /**
  * @author reghao

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/utils/TimeConverter.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/TimeConverter.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.utils;
+package cn.reghao.autodop.common.stat.linux.utils;
 
 import java.util.HashMap;
 import java.util.Map;

+ 1 - 1
common/src/main/java/cn/reghao/autodop/common/stat/sys/utils/TimeType.java → common/src/main/java/cn/reghao/autodop/common/stat/linux/utils/TimeType.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.common.stat.sys.utils;
+package cn.reghao.autodop.common.stat.linux.utils;
 
 /**
  * @author reghao

+ 0 - 31
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/network/NetCardStat.java

@@ -1,31 +0,0 @@
-package cn.reghao.autodop.common.stat.sys.pojo.network;
-
-import lombok.Data;
-
-/**
- * 网络连接状态
- * netstat 命令输出
- *
- * @author reghao
- * @date 2019-10-25 08:55:25
- */
-@Data
-public class NetCardStat {
-    private String iface;
-    private long recvBytes;
-    private long recvPackets;
-    private long recvErrs;
-    private long recvDrop;
-    private long recvFifo;
-    private long recvFrame;
-    private long recvCompressed;
-    private long recvMulticast;
-    private long sendBytes;
-    private long sendPackets;
-    private long sendErrs;
-    private long sendDrop;
-    private long sendFifo;
-    private long sendColls;
-    private long sendCarrier;
-    private long sendCompressed;
-}

+ 0 - 21
common/src/main/java/cn/reghao/autodop/common/stat/sys/pojo/os/SysStat.java

@@ -1,21 +0,0 @@
-package cn.reghao.autodop.common.stat.sys.pojo.os;
-
-import cn.reghao.autodop.common.stat.sys.pojo.cpu.CpuStat;
-import cn.reghao.autodop.common.stat.sys.pojo.memory.MemUsage;
-import cn.reghao.autodop.common.stat.sys.pojo.network.NetConnStat;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2020-03-20 16:32:20
- */
-@Data
-public class SysStat {
-    private String host;
-    private CpuStat cpu;
-    private MemUsage mem;
-    private List<ProcessStat> processStats;
-    private List<NetConnStat> connStats;
-}

+ 1 - 1
dagent/src/main/java/cn/reghao/autodop/dagent/node/SysStatBeanConfig.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dagent.node;
 
-import cn.reghao.autodop.common.stat.sys.*;
+import cn.reghao.autodop.common.stat.linux.*;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 

+ 4 - 19
dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/AgentInfo.java

@@ -1,6 +1,7 @@
 package cn.reghao.autodop.dagent.node.agent;
 
-import cn.reghao.autodop.common.stat.sys.*;
+import cn.reghao.autodop.common.stat.jvm.pojo.JVMInfo;
+import cn.reghao.autodop.common.stat.linux.pojo.SysInfo;
 import lombok.Data;
 
 /**
@@ -11,25 +12,9 @@ import lombok.Data;
 public class AgentInfo {
     private String agentId;
     private String agentAddress;
-    private MachineInfo machineInfo;
+    private JVMInfo jvmInfo;
+    private SysInfo sysInfo;
 
     public AgentInfo() {
-        hardwareInfo();
-    }
-
-    private void hardwareInfo() {
-        OS os = new OS();
-        CPU cpu = new CPU();
-        Memory memory = new Memory();
-        Disk disk = new Disk();
-        Network network = new Network();
-
-        MachineInfo machineInfo = new MachineInfo();
-        /*machineInfo.setOs(os.info());
-        machineInfo.setCpu(cpu.info());
-        machineInfo.setMemory(memory.info());
-        machineInfo.setDisk(disk.info());
-        machineInfo.setNetwork(network.info());*/
-        this.machineInfo = machineInfo;
     }
 }

+ 0 - 23
dagent/src/main/java/cn/reghao/autodop/dagent/node/agent/MachineInfo.java

@@ -1,23 +0,0 @@
-package cn.reghao.autodop.dagent.node.agent;
-
-import cn.reghao.autodop.common.stat.sys.pojo.OSInfo;
-import cn.reghao.autodop.common.stat.sys.pojo.CPUInfo;
-import cn.reghao.autodop.common.stat.sys.pojo.DiskInfo;
-import cn.reghao.autodop.common.stat.sys.pojo.MemoryInfo;
-import cn.reghao.autodop.common.stat.sys.pojo.NetworkInfo;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2020-10-20 09:33:43
- */
-@Data
-public class MachineInfo {
-    private OSInfo os;
-    private CPUInfo cpu;
-    private MemoryInfo memory;
-    private List<DiskInfo> disk;
-    private List<NetworkInfo> network;
-}

+ 5 - 5
dagent/src/main/java/cn/reghao/autodop/dagent/service/MachineStatusScheduler.java

@@ -1,10 +1,10 @@
 package cn.reghao.autodop.dagent.service;
 
-import cn.reghao.autodop.common.stat.sys.CPU;
-import cn.reghao.autodop.common.stat.sys.Memory;
-import cn.reghao.autodop.common.stat.sys.Network;
-import cn.reghao.autodop.common.stat.sys.Process;
-import cn.reghao.autodop.common.stat.sys.pojo.os.SysStat;
+import cn.reghao.autodop.common.stat.linux.CPU;
+import cn.reghao.autodop.common.stat.linux.Memory;
+import cn.reghao.autodop.common.stat.linux.Network;
+import cn.reghao.autodop.common.stat.linux.Process;
+import cn.reghao.autodop.common.stat.linux.pojo.os.SysStat;
 import cn.reghao.autodop.common.mq.MqMessage;
 import cn.reghao.autodop.common.mq.MsgType;
 import cn.reghao.autodop.common.mq.MessageSender;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/config/WebSecurityConfig.java

@@ -39,7 +39,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
                 .expressionHandler(webExpressionHandler())
                 .antMatchers("/**").permitAll()
                 // TODO 放行所有接口(测试时使用)
-                .antMatchers("/api/sys/**").permitAll()
+                .antMatchers("/api/monitor/**").permitAll()
                 .antMatchers("/logout").permitAll()
                 .antMatchers("/actuator/health").permitAll()
                 .anyRequest().authenticated();

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/jwt/JwtTokenFilter.java

@@ -29,7 +29,7 @@ public class JwtTokenFilter extends OncePerRequestFilter {
         String uri = request.getRequestURI();
         String method = request.getMethod();
         // TODO 不处理 OPTIONS 请求、webhook 接口和非 /api 开头的请求
-        if ("OPTIONS".equals(method) || uri.startsWith("/api/sys") || !uri.startsWith("/api")) {
+        if ("OPTIONS".equals(method) || uri.startsWith("/api/monitor") || !uri.startsWith("/api")) {
             chain.doFilter(request, response);
             return;
         }

+ 22 - 17
dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/SysController.java

@@ -1,35 +1,40 @@
 package cn.reghao.autodop.dmaster.sys;
 
 import cn.reghao.autodop.common.result.WebResult;
-import cn.reghao.autodop.common.stat.jvm.JVM;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.HashMap;
-import java.util.Map;
-
 /**
  * @author reghao
  * @date 2019-11-15 08:44:50
  */
 @Api(tags = "系统接口")
 @RestController
-@RequestMapping("/api/sys")
+@RequestMapping("/api/monitor")
 public class SysController {
-    private JVM jvm;
-    private Map<String, Object> map;
+    private SysService sysService;
+
+    public SysController(SysService sysService) {
+        this.sysService = sysService;
+    }
+
+    @GetMapping("/linux/info")
+    public String osInfo() {
+        return WebResult.success(sysService.linuxSysInfo());
+    }
+
+    @GetMapping("/linux/stat")
+    public String osStat() {
+        return WebResult.success(sysService.linuxSysStat());
+    }
 
-    public SysController() {
-        this.jvm = new JVM();
-        this.map = new HashMap<>();
-        map.put("info", new JVM().info());
+    @GetMapping("/jvm/info")
+    public String jvmInfo() {
+        return WebResult.success(sysService.jvmInfo());
     }
 
-    @ApiOperation(value = "")
-    @GetMapping("/stat")
-    public String stat() {
-        map.put("stat", jvm.stat());
-        return WebResult.success(map);
+    @GetMapping("/jvm/stat")
+    public String jvmStat() {
+        return WebResult.success(sysService.jvmStat());
     }
 }

+ 40 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/sys/SysService.java

@@ -0,0 +1,40 @@
+package cn.reghao.autodop.dmaster.sys;
+
+import cn.reghao.autodop.common.stat.jvm.JVM;
+import cn.reghao.autodop.common.stat.jvm.pojo.JVMInfo;
+import cn.reghao.autodop.common.stat.jvm.pojo.JVMStat;
+import cn.reghao.autodop.common.stat.linux.LinuxSys;
+import cn.reghao.autodop.common.stat.linux.pojo.SysInfo;
+import cn.reghao.autodop.common.stat.linux.pojo.SysStat;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author reghao
+ * @date 2020-10-22 17:51:56
+ */
+@Service
+public class SysService {
+    private JVM jvm;
+    private LinuxSys linuxSys;
+
+    public SysService() {
+        this.jvm = new JVM();
+        this.linuxSys = new LinuxSys();
+    }
+
+    public SysInfo linuxSysInfo() {
+        return linuxSys.info();
+    }
+
+    public SysStat linuxSysStat() {
+        return null;
+    }
+
+    public JVMInfo jvmInfo() {
+        return jvm.info();
+    }
+
+    public JVMStat jvmStat() {
+        return jvm.stat();
+    }
+}