From f8561d1d59d9d2f3e0544fcd8f127051d6a6b19a Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 30 Sep 2025 11:53:45 +0800
Subject: [PATCH] 增加监控服务
---
ard-admin/src/main/resources/logback.xml | 114 ++++++++++++++------------------------
ard-framework/src/main/java/com/ard/framework/config/SecurityConfig.java | 2
ard-admin/pom.xml | 5 +
ard-admin/src/main/resources/application.yml | 26 ++++++++
pom.xml | 8 ++
5 files changed, 81 insertions(+), 74 deletions(-)
diff --git a/ard-admin/pom.xml b/ard-admin/pom.xml
index 825fbe9..a333632 100644
--- a/ard-admin/pom.xml
+++ b/ard-admin/pom.xml
@@ -75,6 +75,11 @@
<artifactId>ard-route</artifactId>
</dependency>
+ <!-- SpringBootAdmin管控台 -->
+ <dependency>
+ <groupId>de.codecentric</groupId>
+ <artifactId>spring-boot-admin-starter-client</artifactId>
+ </dependency>
</dependencies>
<build>
diff --git a/ard-admin/src/main/resources/application.yml b/ard-admin/src/main/resources/application.yml
index 6bcb9f9..56e4165 100644
--- a/ard-admin/src/main/resources/application.yml
+++ b/ard-admin/src/main/resources/application.yml
@@ -93,6 +93,8 @@
# Spring配置
spring:
+ application:
+ name: ard-uav
# 资源信息
messages:
# 国际化资源文件路径
@@ -140,4 +142,26 @@
# 激活配置文件
profiles:
# active: prod-druid,prod
- active: dev-druid,dev
\ No newline at end of file
+ active: dev-druid,dev
+ #健康监控
+ boot:
+ admin:
+ client:
+ url: http://127.0.0.1:9100
+ username: admin
+ password: admin
+
+# 服务端点检查
+management:
+ endpoints:
+ web:
+ exposure:
+ include: health,info,logfile,loggers
+ endpoint:
+ info:
+ enabled: true
+ health:
+ enabled: true
+ show-details: always
+ logfile:
+ external-file: logs/${spring.application.name}/info.log
diff --git a/ard-admin/src/main/resources/logback.xml b/ard-admin/src/main/resources/logback.xml
index 7c4d2e0..1bc4cbb 100644
--- a/ard-admin/src/main/resources/logback.xml
+++ b/ard-admin/src/main/resources/logback.xml
@@ -1,68 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
- <property name="log.path" value="/home/ard/jar/logs" />
+ <property name="log.path" value="logs/ard-uav" />
<!-- 日志输出格式 -->
- <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
+ <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
- <!-- 控制台输出 -->
- <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </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>
- <!-- 日志最大的历史 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>
+ <!-- 控制台输出 -->
+ <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<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>
-
- <!-- 用户访问日志输出 -->
- <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${log.path}/sys-user.log</file>
+
+ <!-- 系统日志输出 -->
+ <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/info.log</file>
+ <!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- 按天回滚 daily -->
- <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
+ <!-- 日志文件名格式 -->
+ <fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
@@ -70,24 +26,38 @@
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
-
- <!-- 系统模块日志级别控制 -->
- <logger name="com.ard" level="info" />
- <!-- Spring日志级别控制 -->
- <logger name="org.springframework" level="warn" />
- <root level="info">
- <appender-ref ref="console" />
- </root>
-
- <!--系统操作日志-->
+ <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${log.path}/error.log</file>
+ <!-- 循环政策:基于时间创建日志文件 -->
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <!-- 日志文件名格式 -->
+ <fileNamePattern>${log.path}/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>
+
+ <!-- 系统模块日志级别控制 -->
+ <logger name="com.ard" level="info" />
+ <!-- Spring日志级别控制 -->
+ <logger name="org.springframework" level="warn" />
+
<root level="info">
+ <appender-ref ref="console" />
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
-
- <!--系统用户操作日志-->
- <logger name="sys-user" level="info">
- <appender-ref ref="sys-user"/>
- </logger>
-</configuration>
\ No newline at end of file
+
+</configuration>
\ No newline at end of file
diff --git a/ard-framework/src/main/java/com/ard/framework/config/SecurityConfig.java b/ard-framework/src/main/java/com/ard/framework/config/SecurityConfig.java
index 61b71ea..98747ea 100644
--- a/ard-framework/src/main/java/com/ard/framework/config/SecurityConfig.java
+++ b/ard-framework/src/main/java/com/ard/framework/config/SecurityConfig.java
@@ -111,7 +111,7 @@
.authorizeHttpRequests((requests) -> {
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
- requests.antMatchers("/login", "/register", "/captchaImage", "/ws/**").permitAll()
+ requests.antMatchers("/login", "/register", "/captchaImage", "/ws/**","/actuator/**","/instances").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
diff --git a/pom.xml b/pom.xml
index 2b28f17..270faf9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,6 +34,7 @@
<okhttp.version>4.8.1</okhttp.version>
<mqtt.version>5.5.5</mqtt.version>
<minio.version>8.3.7</minio.version>
+ <spring-boot-admin.version>2.5.1</spring-boot-admin.version>
</properties>
<!-- 依赖声明 -->
@@ -229,6 +230,13 @@
<artifactId>minio</artifactId>
<version>${minio.version}</version>
</dependency>
+
+ <!-- SpringBootAdmin管控台 -->
+ <dependency>
+ <groupId>de.codecentric</groupId>
+ <artifactId>spring-boot-admin-starter-client</artifactId>
+ <version>${spring-boot-admin.version}</version>
+ </dependency>
</dependencies>
</dependencyManagement>
--
Gitblit v1.9.3