Ver código fonte

添加性能监测工具

lighter 1 ano atrás
pai
commit
00b6549f94

+ 25 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>11.5.9</version>
+    <version>11.6.2</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>
@@ -174,6 +174,30 @@
             <version>3.3.4</version>
         </dependency>
 
+        <!-- spring-boot-actuator依赖,监控系统健康情况的工具 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <!-- prometheus依赖 -->
+        <dependency>
+            <groupId>io.micrometer</groupId>
+            <artifactId>micrometer-registry-prometheus</artifactId>
+            <version>1.6.12</version>
+        </dependency>
+        <!--micrometer核心包, 按需引入, 使用Meter注解或手动埋点时需要-->
+        <dependency>
+            <groupId>io.micrometer</groupId>
+            <artifactId>micrometer-core</artifactId>
+            <version>1.6.12</version>
+        </dependency>
+        <!--micrometer获取JVM相关信息, 并展示在Grafana上, 按需引入-->
+        <dependency>
+            <groupId>io.github.mweirauch</groupId>
+            <artifactId>micrometer-jvm-extras</artifactId>
+            <version>0.2.2</version>
+        </dependency>
+
     </dependencies>
     <build>
         <plugins>

+ 0 - 1
src/main/java/thyyxxk/webserver/service/inpatient/DismissService.java

@@ -57,7 +57,6 @@ public class DismissService {
         params.put("scene_type", "6");
         params.put("visit_id", visitId);
 
-
         SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
         requestFactory.setConnectTimeout(5000);
         requestFactory.setReadTimeout(5000);

+ 11 - 11
src/main/java/thyyxxk/webserver/utils/PasswordGenerator.java

@@ -7,17 +7,17 @@ import java.util.Random;
 public class PasswordGenerator {
     public static final String[] SOURCE =  {"abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "0123456789", "!@#$%^&*()_+,.<>/?{}[]"};
 
-//    public static void main(String[] args) throws Exception {
-//        List<Integer> usedSourceIndexes = new ArrayList<>();
-//        int passwordLength = 16;
-//        String password;
-//        for (int i = 0; i < passwordLength; i++) {
-//            do {
-//                password = generatePassword(usedSourceIndexes, passwordLength);
-//            } while (usedSourceIndexes.size() < SOURCE.length);
-//            System.out.println(password);
-//        }
-//    }
+    public static void main(String[] args) throws Exception {
+        List<Integer> usedSourceIndexes = new ArrayList<>();
+        int passwordLength = 16;
+        String password;
+        for (int i = 0; i < passwordLength; i++) {
+            do {
+                password = generatePassword(usedSourceIndexes, passwordLength);
+            } while (usedSourceIndexes.size() < SOURCE.length);
+            System.out.println(password);
+        }
+    }
 
     public static String generatePassword(List<Integer> usedSourceIndexes, int passwordLength) {
         usedSourceIndexes.clear();

+ 39 - 0
src/main/resources/application-prod.yml

@@ -85,6 +85,45 @@ forest:
   variables:
     socketCenter: http://172.16.32.160:8707/socketApi
 
+management:
+  server:
+    port: 9091
+  endpoints:
+    web:
+      base-path: /actuator
+      exposure:
+        include: '*'
+  metrics:
+    export:
+      simple:
+        enabled: true
+      jmx:
+        enabled: true
+      prometheus:
+        enabled: true
+    distribution:
+      percentiles-histogram:
+        http:
+          server:
+            requests: false
+      minimum-expected-value:
+        http:
+          server:
+            requests: 20ms
+      maximum-expected-value:
+        http:
+          server:
+            requests: 200ms
+  endpoint:
+    metrics:
+      enabled: true
+    health:
+      show-details: always
+      probes:
+        enabled: true
+    prometheus:
+      enabled: true
+
 execute-scheduled: true
 
 triage-notify-url: http://172.16.32.160:8082/triage/roomScreen/pushMsg

+ 40 - 1
src/main/resources/application.yml

@@ -15,7 +15,7 @@ spring:
     cache: false
   datasource:
     dynamic:
-      primary: dev
+      primary: his
       strict: false
       datasource:
         his:
@@ -93,6 +93,45 @@ mybatis-plus:
   global-config:
     enableSqlRunner: true
 
+management:
+  server:
+    port: 9091
+  endpoints:
+    web:
+      base-path: /actuator
+      exposure:
+        include: '*'
+  metrics:
+    export:
+      simple:
+        enabled: true
+      jmx:
+        enabled: true
+      prometheus:
+        enabled: true
+    distribution:
+      percentiles-histogram:
+        http:
+          server:
+            requests: false
+      minimum-expected-value:
+        http:
+          server:
+            requests: 20ms
+      maximum-expected-value:
+        http:
+          server:
+            requests: 200ms
+  endpoint:
+    metrics:
+      enabled: true
+    health:
+      show-details: always
+      probes:
+        enabled: true
+    prometheus:
+      enabled: true
+
 execute-scheduled: false
 
 triage-notify-url: http://localhost:8082/triage/roomScreen/pushMsg