Bläddra i källkod

更新对 NginxLog 的处理

reghao 1 år sedan
förälder
incheckning
f3675fad47

+ 1 - 1
mgr/src/main/java/cn/reghao/devops/mgr/mgr/log/model/po/NginxLog.java

@@ -20,7 +20,7 @@ public class NginxLog implements Serializable {
     @SerializedName("request_method") private String requestMethod;
     @SerializedName("body_bytes_sent") private Integer bodyBytesSent;
     @SerializedName("request_time") private Double requestTime;
-    @SerializedName("upstream_response_time") private Double upstreamResponseTime;
+    @SerializedName("upstream_response_time") private String upstreamResponseTime;
     @SerializedName("upstream_addr") private String upstreamAddr;
     private String host;
     private String url;

+ 32 - 0
mgr/src/main/java/cn/reghao/devops/mgr/mgr/log/service/LoggingService.java

@@ -78,4 +78,36 @@ public class LoggingService {
         results.add(yList.toArray());
         return results;
     }
+
+    public void logTest() {
+        TextFile textFile = new TextFile();
+        String filePath = "nginx.log";
+        List<String> list = textFile.read(filePath);
+        List<NginxLog> nginxLogs = new ArrayList<>();
+        for (String line : list) {
+            if (!line.startsWith("{")) {
+                System.out.println("not json data");
+                continue;
+            }
+
+            try {
+                NginxLog nginxLog = JsonConverter.jsonToObject(line, NginxLog.class);
+                nginxLogs.add(nginxLog);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+
+        nginxLogs.stream()
+                .filter(nginxLog -> nginxLog.getStatus() >= 400)
+                .forEach(nginxLog -> {
+                    System.out.printf("%s %s -> %s\n", nginxLog.getRequestMethod(), nginxLog.getStatus(), nginxLog.getUpstreamAddr());
+                });
+        System.out.println();
+    }
+
+    public static void main(String[] args) throws ParseException {
+        LoggingService loggingService = new LoggingService();
+        loggingService.getChartData();
+    }
 }