Ver Fonte

update 优化 powerjob-server 对接 monitor-admin 监控

疯狂的狮子Li há 1 ano atrás
pai
commit
77a849992e

+ 7 - 0
ruoyi-extend/ruoyi-powerjob-server/pom.xml

@@ -11,6 +11,7 @@
 
     <properties>
         <spring-boot.version>2.7.12</spring-boot.version>
+        <spring-boot-admin.version>2.7.10</spring-boot-admin.version>
     </properties>
     <dependencyManagement>
         <dependencies>
@@ -33,6 +34,12 @@
             <version>${powerjob.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>de.codecentric</groupId>
+            <artifactId>spring-boot-admin-starter-client</artifactId>
+            <version>${spring-boot-admin.version}</version>
+        </dependency>
+
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>

+ 10 - 1
ruoyi-extend/ruoyi-powerjob-server/src/main/resources/application-dev.properties

@@ -8,9 +8,18 @@ spring.datasource.core.password=root
 spring.datasource.core.maximum-pool-size=20
 spring.datasource.core.minimum-idle=5
 
+# 监控配置
+# 客户端开关
+spring.boot.admin.client.enabled=true
+# 设置 Spring Boot Admin Server 地址
+spring.boot.admin.client.url: http://localhost:9090/admin
+spring.boot.admin.client.instance.service-host-type=IP
+spring.boot.admin.client.username=ruoyi
+spring.boot.admin.client.password=123456
+
 ####### MongoDB properties(Non-core configuration properties)  #######
 ####### delete mongodb config to disable mongodb #######
-#oms.mongodb.enable=true
+oms.mongodb.enable=false
 #spring.data.mongodb.uri=mongodb+srv://zqq:No1Bug2Please3!@cluster0.wie54.gcp.mongodb.net/powerjob_daily?retryWrites=true&w=majority
 
 ####### Email properties(Non-core configuration properties) #######

+ 10 - 1
ruoyi-extend/ruoyi-powerjob-server/src/main/resources/application-prod.properties

@@ -8,9 +8,18 @@ spring.datasource.core.password=root
 spring.datasource.core.maximum-pool-size=20
 spring.datasource.core.minimum-idle=5
 
+# 监控配置
+# 客户端开关
+spring.boot.admin.client.enabled=true
+# 设置 Spring Boot Admin Server 地址
+spring.boot.admin.client.url: http://localhost:9090/admin
+spring.boot.admin.client.instance.service-host-type=IP
+spring.boot.admin.client.username=ruoyi
+spring.boot.admin.client.password=123456
+
 ####### MongoDB properties(Non-core configuration properties)  #######
 ####### delete mongodb config to disable mongodb #######
-#oms.mongodb.enable=true
+oms.mongodb.enable=false
 #spring.data.mongodb.uri=mongodb+srv://zqq:No1Bug2Please3!@cluster0.wie54.gcp.mongodb.net/powerjob_daily?retryWrites=true&w=majority
 
 ####### Email properties(Non-core configuration properties) #######

+ 7 - 0
ruoyi-extend/ruoyi-powerjob-server/src/main/resources/application.properties

@@ -21,3 +21,10 @@ oms.akka.port=10086
 oms.http.port=10010
 # Prefix for all tables. Default empty string. Config if you have needs, i.e. pj_
 oms.table-prefix=pj_
+
+# Actuator 监控端点的配置项
+spring.application.name: ruoyi-powerjob-server
+management.endpoints.web.exposure.include=*
+management.endpoint.health.show-details=ALWAYS
+management.endpoint.logfile.external-file=./logs/ruoyi-powerjob-server.log
+management.health.mongo.enabled=${oms.mongodb.enable}

+ 0 - 132
ruoyi-extend/ruoyi-powerjob-server/src/main/resources/logback-config/powerjob_monitor.xml

@@ -1,132 +0,0 @@
-<?xml version="1.0"?>
-<included>
-
-    <property name="MONITOR_LOG_PATH" value="${LOG_PATH}/monitors"/>
-    <property name="ROTATE_PATTERN" value="%d{yyyy-MM-dd}.%i"/>
-
-    <property name="MONITOR_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS}|%thread|%X{serverId}|%msg%n"/>
-
-    <!-- database -->
-    <appender name="MONITOR_LOGGER_DB_OPERATION_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${MONITOR_LOG_PATH}/database.log</file>
-        <encoder>
-            <pattern>${MONITOR_LOG_PATTERN}</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${MONITOR_LOG_PATH}/database.log.${ROTATE_PATTERN}</fileNamePattern>
-            <maxHistory>3</maxHistory>
-            <maxFileSize>200MB</maxFileSize>
-            <totalSizeCap>1000MB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-    <appender name="ASYNC_MONITOR_LOGGER_DB_OPERATION_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>512</queueSize>
-        <discardingThreshold>0</discardingThreshold>
-        <neverBlock>true</neverBlock>
-        <appender-ref ref="MONITOR_LOGGER_DB_OPERATION_APPENDER"/>
-    </appender>
-    <logger name="MONITOR_LOGGER_DB_OPERATION" level="INFO" additivity="false">
-        <appender-ref ref="ASYNC_MONITOR_LOGGER_DB_OPERATION_APPENDER"/>
-    </logger>
-
-
-    <!-- TtReportInstanceStatusEvent -->
-    <appender name="MONITOR_LOGGER_TT_REPORT_STATUS_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${MONITOR_LOG_PATH}/tt_status_report.log</file>
-        <encoder>
-            <pattern>${MONITOR_LOG_PATTERN}</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${MONITOR_LOG_PATH}/tt_status_report.log.${ROTATE_PATTERN}</fileNamePattern>
-            <maxHistory>3</maxHistory>
-            <maxFileSize>200MB</maxFileSize>
-            <totalSizeCap>1000MB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-    <appender name="ASYNC_MONITOR_LOGGER_TT_REPORT_STATUS_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>512</queueSize>
-        <discardingThreshold>0</discardingThreshold>
-        <neverBlock>true</neverBlock>
-        <appender-ref ref="MONITOR_LOGGER_TT_REPORT_STATUS_APPENDER"/>
-    </appender>
-    <logger name="MONITOR_LOGGER_TT_REPORT_STATUS" level="INFO" additivity="false">
-        <appender-ref ref="ASYNC_MONITOR_LOGGER_TT_REPORT_STATUS_APPENDER"/>
-    </logger>
-
-    <!-- WorkerHeartbeatEvent -->
-    <appender name="MONITOR_LOGGER_WORKER_HEART_BEAT_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${MONITOR_LOG_PATH}/worker_heartbeat.log</file>
-        <encoder>
-            <pattern>${MONITOR_LOG_PATTERN}</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${MONITOR_LOG_PATH}/worker_heartbeat.log.${ROTATE_PATTERN}</fileNamePattern>
-            <maxHistory>3</maxHistory>
-            <maxFileSize>200MB</maxFileSize>
-            <totalSizeCap>1000MB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-    <appender name="ASYNC_MONITOR_LOGGER_WORKER_HEART_BEAT_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>512</queueSize>
-        <discardingThreshold>0</discardingThreshold>
-        <neverBlock>true</neverBlock>
-        <appender-ref ref="MONITOR_LOGGER_WORKER_HEART_BEAT_APPENDER"/>
-    </appender>
-    <logger name="MONITOR_LOGGER_WORKER_HEART_BEAT" level="INFO" additivity="false">
-        <appender-ref ref="ASYNC_MONITOR_LOGGER_WORKER_HEART_BEAT_APPENDER"/>
-    </logger>
-
-
-    <!-- WorkerLogReportEvent -->
-    <appender name="MONITOR_LOGGER_WORKER_LOG_REPORT_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${MONITOR_LOG_PATH}/worker_log_report.log</file>
-        <encoder>
-            <pattern>${MONITOR_LOG_PATTERN}</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${MONITOR_LOG_PATH}/worker_log_report.log.${ROTATE_PATTERN}</fileNamePattern>
-            <maxHistory>3</maxHistory>
-            <maxFileSize>200MB</maxFileSize>
-            <totalSizeCap>1000MB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-    <appender name="ASYNC_MONITOR_LOGGER_WORKER_LOG_REPORT_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>512</queueSize>
-        <discardingThreshold>0</discardingThreshold>
-        <neverBlock>true</neverBlock>
-        <appender-ref ref="MONITOR_LOGGER_WORKER_LOG_REPORT_APPENDER"/>
-    </appender>
-    <logger name="MONITOR_LOGGER_WORKER_LOG_REPORT" level="INFO" additivity="false">
-        <appender-ref ref="ASYNC_MONITOR_LOGGER_WORKER_LOG_REPORT_APPENDER"/>
-    </logger>
-
-
-    <!-- SlowLockEvent -->
-    <appender name="MONITOR_LOGGER_SLOW_LOCK_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${MONITOR_LOG_PATH}/lock.log</file>
-        <encoder>
-            <pattern>${MONITOR_LOG_PATTERN}</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <fileNamePattern>${MONITOR_LOG_PATH}/lock.log.${ROTATE_PATTERN}</fileNamePattern>
-            <maxHistory>3</maxHistory>
-            <maxFileSize>200MB</maxFileSize>
-            <totalSizeCap>1000MB</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-    <appender name="ASYNC_MONITOR_LOGGER_SLOW_LOCK_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>512</queueSize>
-        <discardingThreshold>0</discardingThreshold>
-        <neverBlock>true</neverBlock>
-        <appender-ref ref="MONITOR_LOGGER_SLOW_LOCK_APPENDER"/>
-    </appender>
-    <logger name="MONITOR_LOGGER_SLOW_LOCK" level="INFO" additivity="false">
-        <appender-ref ref="ASYNC_MONITOR_LOGGER_SLOW_LOCK_APPENDER"/>
-    </logger>
-
-</included>

+ 9 - 107
ruoyi-extend/ruoyi-powerjob-server/src/main/resources/logback-plus.xml

@@ -1,14 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<configuration>
-    <property name="log.path" value="./logs"/>
+<configuration debug="false" scan="true" scanPeriod="1 seconds">
+
+    <contextName>logback</contextName>
+    <property name="log.path" value="./logs/ruoyi-powerjob-server"/>
     <property name="console.log.pattern"
               value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}%n) - %msg%n"/>
     <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"/>
 
-    <!-- include other logback configs -->
-    <include resource="logback-config/powerjob_monitor.xml"/>
-
-    <!-- 控制台输出 -->
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <encoder>
             <pattern>${console.log.pattern}</pattern>
@@ -16,117 +14,21 @@
         </encoder>
     </appender>
 
-    <!-- 控制台输出 -->
-    <appender name="file_console" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${log.path}/sys-console.log</file>
+    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${log.path}.log</file>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/sys-console.%d{yyyy-MM-dd}.log</fileNamePattern>
-            <!-- 日志最大 1天 -->
-            <maxHistory>1</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-            <charset>utf-8</charset>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-        </filter>
-    </appender>
-
-    <!-- 系统日志输出 -->
-    <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${log.path}/sys-info.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.log</fileNamePattern>
             <!-- 日志最大的历史 60天 -->
             <maxHistory>60</maxHistory>
         </rollingPolicy>
         <encoder>
             <pattern>${log.pattern}</pattern>
         </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>INFO</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
     </appender>
 
-    <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${log.path}/sys-error.log</file>
-        <!-- 循环政策:基于时间创建日志文件 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <!-- 日志文件名格式 -->
-            <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
-            <!-- 日志最大的历史 60天 -->
-            <maxHistory>60</maxHistory>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${log.pattern}</pattern>
-        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <!-- 过滤的级别 -->
-            <level>ERROR</level>
-            <!-- 匹配时的操作:接收(记录) -->
-            <onMatch>ACCEPT</onMatch>
-            <!-- 不匹配时的操作:拒绝(不记录) -->
-            <onMismatch>DENY</onMismatch>
-        </filter>
-    </appender>
-
-    <!-- info异步输出 -->
-    <appender name="async_info" class="ch.qos.logback.classic.AsyncAppender">
-        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
-        <discardingThreshold>0</discardingThreshold>
-        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
-        <queueSize>512</queueSize>
-        <!-- 添加附加的appender,最多只能添加一个 -->
-        <appender-ref ref="file_info"/>
-    </appender>
-
-    <!-- error异步输出 -->
-    <appender name="async_error" class="ch.qos.logback.classic.AsyncAppender">
-        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
-        <discardingThreshold>0</discardingThreshold>
-        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
-        <queueSize>512</queueSize>
-        <!-- 添加附加的appender,最多只能添加一个 -->
-        <appender-ref ref="file_error"/>
-    </appender>
-
-    <!-- 整合 skywalking 控制台输出 tid -->
-<!--    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">-->
-<!--        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">-->
-<!--            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">-->
-<!--                <pattern>[%tid] ${console.log.pattern}</pattern>-->
-<!--            </layout>-->
-<!--            <charset>utf-8</charset>-->
-<!--        </encoder>-->
-<!--    </appender>-->
-
-    <!-- 整合 skywalking 推送采集日志 -->
-<!--    <appender name="sky_log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">-->
-<!--        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">-->
-<!--            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">-->
-<!--                <pattern>[%tid] ${console.log.pattern}</pattern>-->
-<!--            </layout>-->
-<!--            <charset>utf-8</charset>-->
-<!--        </encoder>-->
-<!--    </appender>-->
-
-    <!--系统操作日志-->
     <root level="info">
-        <appender-ref ref="console" />
-        <appender-ref ref="async_info" />
-        <appender-ref ref="async_error" />
-        <appender-ref ref="file_console" />
-<!--        <appender-ref ref="sky_log"/>-->
+        <appender-ref ref="console"/>
+        <appender-ref ref="file"/>
     </root>
 
 </configuration>