SpringBoot項目,Spring Boot Admin工程搭建(Eureka)

 2023-10-09 阅读 26 评论 0

摘要:  其實網上有很多資料都說得很詳細,但有時按照他們的例子去做了,就會出現各種各種的問題,歸其原因,是因為版本的問題,所以我來貼一下完整的示例。 SpringBoot項目,  先來看看pom文件 <?xml version="1.0" encoding

  其實網上有很多資料都說得很詳細,但有時按照他們的例子去做了,就會出現各種各種的問題,歸其原因,是因為版本的問題,所以我來貼一下完整的示例。

SpringBoot項目,  先來看看pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<!-- 繼承了父類的依賴管理,控制兼容版本,無需自己控制 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>

<modelVersion>4.0.0</modelVersion>
<groupId>com.zgz.spring.boot</groupId>
<artifactId>admin</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<dependencies>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>1.5.7</version>
<exclusions>
<!-- 排除依賴 因為該版本比較舊,出現過NoSuchMethod的異常-->
<exclusion>
<groupId>com.netflix.servo</groupId>
<artifactId>servo-core</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.2.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- 使用jmx 需要引入此類-->
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
<version>1.5.0</version>
<scope>compile</scope>
</dependency>

<!-- 引入較新的版本 -->
<dependency>
<groupId>com.netflix.servo</groupId>
<artifactId>servo-core</artifactId>
<version>0.12.11</version>
</dependency>

</dependencies>

<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
<goal>build-info</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.zgz.application.SpringBootAdminApplication</mainClass>
<addResources>false</addResources>
</configuration>
</plugin>
</plugins>
</build>
</project>

  再來看看application啟動類:

package com.zgz.application;import de.codecentric.boot.admin.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableAdminServer
public class SpringBootAdminApplication {public static void main(String[] args) {SpringApplication.run(SpringBootAdminApplication.class, args);}@Configurationpublic static class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().anyRequest().permitAll() //<1>
                .and().csrf().disable();}}}
// end::application-eureka[]

  接著是application.yml:

spring:application:name: zgz-spring-boot-admin
info:version: @project.version@# tag::configuration-eureka[]
eureka:   #<1>instance:leaseRenewalIntervalInSeconds: 10hostname: localhostclient:registryFetchIntervalSeconds: 5serviceUrl:defaultZone: http://localhost:8761/eureka/
management:endpoints:web:exposure:include: "*"  #<2>
# end::configuration-eureka[]endpoint:health:show-details: ALWAYSsecurity:enabled: falseendpoints:logfile:sensitive: false

  最后是logback-spring.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration><include resource="org/springframework/boot/logging/logback/base.xml"/><!-- 要是需要管理日志級別,需要在文件中加入 此配置 --><jmxConfigurator/>
</configuration>

  注:如果需要在Spring Boot Admin 中能輸出其他監控項目的日志,則需在監控項目的application.yml指定日志文件:

    logging:

     file: D:\JavaWebLogs\SpringBootDemo\log_info.log

?

  以上的配置會將監控項目的Log,Logging,JMX模塊管理起來:

?

轉載于:https://www.cnblogs.com/zgz21/p/8510150.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/134438.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息