亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Cloud整合Spring Boot?Admin方法是什么

發布時間:2021-12-20 10:28:01 來源:億速云 閱讀:255 作者:iii 欄目:開發技術

這篇文章主要介紹“Spring Cloud整合Spring Boot Admin方法是什么”,在日常操作中,相信很多人在Spring Cloud整合Spring Boot Admin方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Spring Cloud整合Spring Boot Admin方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

    1. Spring Boot Admin 是什么

    Spring Boot Admin 是由 codecentric 組織開發的開源項目,使用 Spring Boot Admin 可以管理和監控你的 Spring Boot 項目。

    它分為客戶端和服務端兩部分,客戶端添加到你的 Spring Boot 應用增加暴漏相關信息的 HTTP 接口,然后注冊到 Spring Boot Admin 服務端,這一步驟可以直接向服務端注冊,也可以通過 Eureka 或者 Consul 進行注冊。

    而 Spring Boot Admin Server 通過 Vue.js 程序監控信息進行可視化呈現。并且支持多種事件通知操作。

    2. Spring Boot Admin 服務端

    Spring Boot Admin 服務端是基于 Spring Boot 項目的,如何創建一個 Spring Boot 項目這里不提,你可以參考之前文章或者從 https://start.spring.io/ 直接獲得一個 Spring Boot 項目。

    2.1. 添加依賴(服務端)

    只需要添加 web 依賴和 Spring-boot-admin-starter-server 依賴。

       <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-starter-server</artifactId>
                <version>2.2.2</version>
            </dependency>
     
             <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <!--安全認證框架-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>

    2.2. 配置 application.yml

    server:
      port: 8000
     
    ####服務監控server端
    spring:
      application:
        name: wireless-admin-server
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848
      security:
        user:
          name: admin
          password: admin

    2.3啟動類:AdminServerMain

    package com.gpdi.wireless;
    import de.codecentric.boot.admin.server.config.EnableAdminServer;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
     
    /**
     * @Author Lxq
     * @Date 2020/5/7 17:45
     * @Version 1.0
     */
    @EnableAdminServer
    @SpringBootApplication
    @EnableDiscoveryClient
    public class AdminServerMain {
        public static void main(String[] args) {
            SpringApplication.run(AdminServerMain.class, args);
        }
    }

    2.4配置類 :SecuritySecureConfig (直接cp官方文檔)

    package com.gpdi.wireless.config; 
    import de.codecentric.boot.admin.server.config.AdminServerProperties;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
    import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
    import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
    import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
     
    /**
     * @Author Lxq
     * @Date 2020/5/7 22:15
     * @Version 1.0
     *
     */
    @Configuration
    public class SecuritySecureConfig extends WebSecurityConfigurerAdapter { 
        private final String adminContextPath; 
        public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
            this.adminContextPath = adminServerProperties.getContextPath();
        }
     
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            // @formatter:off
            SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
            successHandler.setTargetUrlParameter("redirectTo");
            successHandler.setDefaultTargetUrl(adminContextPath + "/");
     
            http.authorizeRequests()
                    //授予對所有靜態資產和登錄頁面的公共訪問權限
                    .antMatchers(adminContextPath + "/assets/**").permitAll()
                    .antMatchers(adminContextPath + "/login").permitAll()
                    //必須對每個其他請求進行身份驗證
                    .anyRequest().authenticated()
                    .and()
                    //配置登錄和注銷
                    .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
                    .logout().logoutUrl(adminContextPath + "/logout").and()
                    //啟用HTTP-Basic支持。這是Spring Boot Admin Client注冊所必需的
                    .httpBasic().and()
                    .csrf()
                    .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
                    .ignoringAntMatchers(
                            //	禁用CRSF保護Spring引導管理客戶端用來注冊的端點。
                            adminContextPath + "/instances",
                            // 禁用執行器端點的CRSF保護
                            adminContextPath + "/actuator/**"
                    );
        } 
    }

    Spring Cloud整合Spring Boot?Admin方法是什么

    3. Spring Boot Admin 客戶端

    創建 Spring Boot 項目依舊不提,這里只需要添加 Spring Boot Admin 客戶端需要的依賴,在項目啟動時就會增加相關的獲取信息的 API 接口。然后在 Spring Boot 配置文件中配置 Spring Boot Admin 服務端,就可以進行監控了。

    3.1 客戶端依賴

    <      !--服務監控客戶端-->
            <dependency>
                <groupId>de.codecentric</groupId>
                <artifactId>spring-boot-admin-starter-client</artifactId>
                <version>2.2.2</version>
            </dependency>
            <!--alibaba-nacos-discovery 注冊中心-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>

    3.2 客戶端配置

    客戶端配置主要為了讓客戶端可以成功向服務端注冊,所以需要配置客戶端所在應用相關信息以及 Spring Boot Admin Server 服務端的 url。

    server:
      port: 8761
     
    spring:
      application:
        name: wireless-code-generatr
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848
     
    #### 暴露端點
    management:
      endpoints:
        web:
          exposure:
            include: '*'
      endpoint:
        health:
          show-details: always
     
    logging:
      file:
        name: boot.log
      pattern:
    ####日志高亮
        file: '%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx'

    配置中的 include: "*" 公開了所有的端口,對于生產環境,應該自信的選擇要公開的接口。

    3.3. 客戶端運行

    啟動客戶端會暴漏相關的運行狀態接口,并且自動向配置的服務端發送注冊信息。

    4. Spring Boot Admin 功能

    Spring Cloud整合Spring Boot?Admin方法是什么

    點擊監控頁面上的在線的應用實例,可以跳轉到應用實例詳細的監控管理頁面,也就是 Vue.js 實現的 web 展示。

    Spring Boot Admin Server 可以監控的功能很多,使用起來沒有難度,

    下面描述下可以監測的部分內容:

    • 應用運行狀態,如時間、垃圾回收次數,線程數量,內存使用走勢。

    • 應用性能監測,通過選擇 JVM 或者 Tomcat 參數,查看當前數值。

    • 應用環境監測,查看系統環境變量,應用配置參數,自動配置參數。

    • 應用 bean 管理,查看 Spring Bean ,并且可以查看是否單例。

    • 應用計劃任務,查看應用的計劃任務列表。

    • 應用日志管理,動態更改日志級別,查看日志。

    • 應用 JVM 管理,查看當前線程運行情況,dump 內存堆棧信息。

    • 應用映射管理,查看應用接口調用方法、返回類型、處理類等信息。

    上面提到的日志管理,可以動態的更改日志級別,以及查看日志。默認配置下是只可以動態更改日志級別的,如果要在線查看日志,就需要手動配置日志路徑了。

    客戶端上可以像下面這樣配置日志路徑以及日志高亮。

    # 配置文件:application.yml
    logging:
      file:
        name: boot.log
      pattern:
    #     日志高亮
        file: '%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx'

    下面是在 Spring Boot Admin 監測頁面上查看的客戶端應用日志。

    Spring Cloud整合Spring Boot?Admin方法是什么

    到此,關于“Spring Cloud整合Spring Boot Admin方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    海林市| 灵宝市| 泾源县| 无棣县| 开封县| 巴林左旗| 乃东县| 荔波县| 宁陵县| 隆子县| 黎川县| 吉木萨尔县| 平和县| 丁青县| 黔东| 石狮市| 高陵县| 准格尔旗| 青阳县| 什邡市| 前郭尔| 鄂托克前旗| 诸城市| 永德县| 易门县| 贵德县| 秦安县| 黑水县| 保康县| 阳高县| 云林县| 南宁市| 云梦县| 高尔夫| 安西县| 铜梁县| 满洲里市| 临沧市| 常山县| 毕节市| 巩义市|