liusuyi
2025-09-30 f8561d1d59d9d2f3e0544fcd8f127051d6a6b19a
增加监控服务
5 files modified
81 ■■■■■ changed files
ard-admin/pom.xml 5 ●●●●● patch | view | raw | blame | history
ard-admin/src/main/resources/application.yml 24 ●●●●● patch | view | raw | blame | history
ard-admin/src/main/resources/logback.xml 42 ●●●●● patch | view | raw | blame | history
ard-framework/src/main/java/com/ard/framework/config/SecurityConfig.java 2 ●●●●● patch | view | raw | blame | history
pom.xml 8 ●●●●● patch | view | raw | blame | history
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>
ard-admin/src/main/resources/application.yml
@@ -93,6 +93,8 @@
# Spring配置
spring:
  application:
    name: ard-uav
  # 资源信息
  messages:
    # 国际化资源文件路径
@@ -141,3 +143,25 @@
  profiles:
    # active: prod-druid,prod
    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
ard-admin/src/main/resources/logback.xml
@@ -1,7 +1,7 @@
<?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" />
@@ -14,33 +14,25 @@
    
    <!-- 系统日志输出 -->
    <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/sys-info.log</file>
        <file>${log.path}/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}/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>
        <file>${log.path}/error.log</file>
        <!-- 循环政策:基于时间创建日志文件 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件名格式 -->
            <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
            <fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 日志最大的历史 60天 -->
            <maxHistory>60</maxHistory>
        </rollingPolicy>
@@ -57,20 +49,6 @@
        </filter>
    </appender>
    
    <!-- 用户访问日志输出  -->
    <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/sys-user.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 按天回滚 daily -->
            <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 日志最大的历史 60天 -->
            <maxHistory>60</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${log.pattern}</pattern>
        </encoder>
    </appender>
    <!-- 系统模块日志级别控制  -->
    <logger name="com.ard" level="info" />
    <!-- Spring日志级别控制  -->
@@ -78,16 +56,8 @@
    <root level="info">
        <appender-ref ref="console" />
    </root>
    <!--系统操作日志-->
    <root level="info">
        <appender-ref ref="file_info" />
        <appender-ref ref="file_error" />
    </root>
    
    <!--系统用户操作日志-->
    <logger name="sys-user" level="info">
        <appender-ref ref="sys-user"/>
    </logger>
</configuration> 
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()
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>