国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Spring Boot Admin的使用詳解(Actuator監控接口)

發(fā)布時(shí)間:2021-07-17 21:51 來(lái)源:腳本之家 閱讀:0 作者:程序員學(xué)富 欄目: 編程語(yǔ)言 歡迎投稿:712375056

目錄

第一部分 Spring Boot Admin 簡(jiǎn)介

  •  Spring Boot Admin用來(lái)管理和監控Spring Boot應用程序。
  • 應用程序向我們的Spring Boot Admin Client注冊(通過(guò)HTTP)或使用SpringCloud®(例如Eureka,Consul)發(fā)現。
  • UI是Spring Boot Actuator端點(diǎn)上的Vue.js應用程序。

Spring Boot Admin 是一個(gè)管理和監控Spring Boot 應用程序的開(kāi)源軟件。每個(gè)應用都認為是一個(gè)客戶(hù)端,通過(guò)HTTP或者使用 Eureka注冊到admin server中進(jìn)行展示,Spring Boot Admin UI部分使用AngularJs將數據展示在前端。

Spring Boot Admin 是一個(gè)針對spring-boot的actuator接口進(jìn)行UI美化封裝的監控工具。他可以:在列表中瀏覽所有被監控spring-boot項目的基本信息,詳細的Health信息、內存信息、JVM信息、垃圾回收信息、各種配置信息(比如數據源、緩存列表和命中率)等,還可以直接修改logger的level。

admin-server 服務(wù)端(admin-server)

服務(wù)端:是指Spring Boot Admin這個(gè)應用(通常就是指監控服務(wù)器),一個(gè)服務(wù)端可以監控多個(gè)客戶(hù)端。

客戶(hù)端

客戶(hù)端是:被服務(wù)端監控的對象(通常就是指你的業(yè)務(wù)系統)。

第二部分 快速入門(mén)

本部分將為您展示SpringBoot ADMIN 的簡(jiǎn)單應用。

服務(wù)端配置(admin-server)

步驟一:搭建springboot maven項目

搭建一個(gè)基于SpringBoot的項目。注意您所使用的SpringBoot版本。

步驟二:配置pom.xml文件

     <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.3.1</version>
      </dependency> 

步驟三:application.properties中配置端口號

此端口號指的是你所搭建的服務(wù)器所使用的的版本號,如果服務(wù)端和客戶(hù)端在同一臺機器上,注意端口號的設置,以防端口出現沖突的情況。

server.port=8099 

步驟四:主啟動(dòng)類(lèi)上加注解@EnableAdminServer

@SpringBootApplication 
@EnableAdminServer 
public class
DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

} 

步驟五:?jiǎn)?dòng)項目

訪(fǎng)問(wèn):http://127.0.0.1:8099/applications。監控首頁(yè)顯示如下

客戶(hù)端配置(admin-client)

步驟一:在客戶(hù)端項目(也就是需要監控的springboot項目)中添加jar包

加入Security安全框架的jar包,加入jar需注意版本的問(wèn)題。有些springboot版本,可能會(huì )自動(dòng)引入失>敗。如圖:

出現這種情況需指定security的版本號,找個(gè)適合你springboot版本的security。

具體如下:

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

引入 spring-boot-admin-starter-client

  <!--admin server 監控-->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.4.1</version>
        </dependency> 

步驟二:在啟動(dòng)配置文件中配置如下 application.properties

#開(kāi)放端點(diǎn)用于SpringBoot Admin的監控 
management.endpoints.web.exposure.include=*
# 給client應用取個(gè)名字 
spring.boot.admin.client.instance.name=zxfdemo
#這里配置admin server 的地址 
spring.boot.admin.client.url=http://localhost:8099
#這里配置admin client 的地址(客戶(hù)端應用程序) 
spring.boot.admin.client.instance.service-url=http://localhost:8080

步驟四:測試效果

spring security 安全加固

SpringBoot Admin的管理后臺如果沒(méi)密碼就能訪(fǎng)問(wèn),那實(shí)在太不安全了,所以需要引入一個(gè)安全加固的jar包。spring-boot-starter-security

Spring Security是一個(gè)功能強大且高度可定制的身份驗證和訪(fǎng)問(wèn)控制框架。提供了完善的認證機制和方法級的授權功能。是一款非常優(yōu)秀的權限管理框架。它的核心是一組過(guò)濾器鏈,不同的功能經(jīng)由不同的過(guò)濾器。此處就是想通過(guò)一個(gè)小案例將Spring Security整合到SpringBoot中去。要實(shí)現的功能就是在認證服務(wù)器上登錄,然后獲取Token,再訪(fǎng)問(wèn)資源服務(wù)器中的資源。

服務(wù)端配置(admin-server)

服務(wù)端配置修改

1. 服務(wù)端添加Spring Security 相關(guān)依賴(lài)

添加Spring Security 相關(guān)依賴(lài)

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

2. 服務(wù)端設置賬號密碼

spring.security.user.name=zxf
spring.security.user.password=123456

3.添加一個(gè)Spring Security 配置類(lèi)

package com.example.springadmintest.config;

import de.codecentric.boot.admin.server.config.AdminServerProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;

/**
 * 配置security驗證頁(yè)面指向SpringBootAdmin提供的UI界面
 *
 *
 */
@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {

    private final String contextPath;

    public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
        this.contextPath = adminServerProperties.getContextPath();
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // 跨域設置,SpringBootAdmin客戶(hù)端通過(guò)instances注冊,見(jiàn)InstancesController
        http.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
                .ignoringAntMatchers(contextPath + "/instances");

        http.authorizeRequests().antMatchers(contextPath + "/assets/**").permitAll(); // 靜態(tài)資源
        http.authorizeRequests().anyRequest().authenticated(); // 所有請求必須通過(guò)認證

        // 整合spring-boot-admin-server-ui
        http.formLogin().loginPage("/login").permitAll();
        http.logout().logoutUrl("/logout").logoutSuccessUrl("/login");

        // 啟用basic認證,SpringBootAdmin客戶(hù)端使用的是basic認證
        http.httpBasic();
    }
}

4.登錄頁(yè)面展示

再次訪(fǎng)問(wèn)http://localhost:8099/ ,發(fā)現需要登錄

客戶(hù)端配置(admin-client)

客戶(hù)端配置

1.客戶(hù)端添加Spring Security 相關(guān)依賴(lài)

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

2. 客戶(hù)端設置賬號密碼

# 配置 admin-client 地址
spring.boot.admin.client.instance.service-url=http://localhost:8080
#配置 admin-server地址
spring.boot.admin.client.url=http://localhost:8099
# 配置 admin-server的賬號
spring.boot.admin.client.username=zxf
# 配置 admin-server的密碼
spring.boot.admin.client.password=123456
#配置 admin-server的密碼
spring.security.user.name=zxf
#配置 admin-client的密碼
spring.security.user.password=123456
#若在核心配置文件中未添加 management.security.enabled=false 配置,
# 將會(huì )導致用戶(hù)在訪(fǎng)問(wèn)部分監控地址時(shí)訪(fǎng)問(wèn)受限,報401未授權錯誤。
management.security.enabled=false
#監控中心配置, 允許監控所有接口
management.endpoints.web.exposure.include=*

3. 客戶(hù)端添加Spring Security 配置類(lèi)

package com.cachedemo.controller;

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
public class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().permitAll()
                .and().csrf().disable();
    }
}

所有配置完成測試結果




到此這篇關(guān)于Spring Boot Admin的使用詳解(Actuator監控接口)的文章就介紹到這了,更多相關(guān)Spring Boot Admin的使用 內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

成人无码A区在线观看视频| 自拍偷自拍亚洲精品播放 | 777精品久无码人妻蜜桃| 熟妇与小伙子MATUR老熟妇E| 无码毛片AAA在线| 国产色无码专区在线观看|