日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

環(huán)境:SpringBoot2.3.9.RELEASE + SpringBootAdmin2.3.1


說明:如果使用SpringBootAdmin2.4.*版本那么SpringBoot的版本也必須是2.4.*否則啟動報錯。

Spring Boot Admin(SBA)是一個管理和監(jiān)視SpringBoot應(yīng)用程序的社區(qū)項目。通過Spring Boot Admin Client(通過HTTP)注冊我們的應(yīng)用程序到Admin Server中,或者使用Spring Cloud®服務(wù)發(fā)現(xiàn)(例如Eureka、Consul)。

★ 配置Spring Boot Admin服務(wù)端

  • 添加依賴
<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-server</artifactId>
			<version>2.3.1</version>
		</dependency>
	</dependencies>
  • 啟動類添加注解

啟動類添加@EnableAdminServer注解

@SpringBootApplication
@EnableAdminServer
public class SpringBootAdminApplication {

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

}
  • 應(yīng)用配置文件
server:
  port: 8080
---
spring:
  application:
    name: admin-server
---
spring:
  boot:
    admin:
      context-path: /sba

非常簡單,啟動服務(wù)直接訪問:http://localhost:8080/sba

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

空空如也,現(xiàn)在我們還沒有客戶端注冊上來,接下來寫個客戶端。

★ 客戶端注冊

  • 添加依賴
<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-client</artifactId>
			<version>2.3.1</version>
		</dependency>
	</dependencies>
  • 安全配置

放行所有的請求

@Configuration
public class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {
	
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().permitAll()  
            .and().csrf().disable();
    }
}
  • 應(yīng)用配置文件
server:
  port: 8081
---
spring:
  application:
    name: admin-client
---
spring:
  boot:
    admin:
      client:
        url:
        - http://localhost:8080/sba

啟動客戶端(確保服務(wù)端已經(jīng)啟動)

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

客戶端已經(jīng)注冊上來了,但是這里顯示的地址是主機(jī)名,修改配置顯示ip地址

  • 顯示客戶端IP
spring:
  boot:
    admin:
      client:
        url:
        - http://localhost:8080
        instance:
          prefer-ip: true
使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

點擊實例進(jìn)入查看實例的詳細(xì)信息

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

  • 查看日志

應(yīng)用中配置日志功能,在應(yīng)用配置文件中配置logging.file.path or logging.file.name兩個只能配置一個

logging:
  file:
    path: d:/logs
  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'

這樣配置完后重啟,在實例的詳細(xì)頁面中就能查看日志信息了

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

  • 保護(hù)Server端,添加登錄功能

加入依賴

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

安全配置

@Configuration(proxyBeanMethods = false)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

	private final AdminServerProperties adminServer;

	private final SecurityProperties security;

	public SecurityConfig(AdminServerProperties adminServer, SecurityProperties security) {
		this.adminServer = adminServer;
		this.security = security;
	}

	@Override
	protected void configure(HttpSecurity http) throws Exception {
		SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
		successHandler.setTargetUrlParameter("redirectTo");
		successHandler.setDefaultTargetUrl(this.adminServer.path("/"));

		http.authorizeRequests((authorizeRequests) -> authorizeRequests.antMatchers(this.adminServer.path("/assets/**"))
				.permitAll().antMatchers(this.adminServer.path("/actuator/info")).permitAll()
				.antMatchers(this.adminServer.path("/actuator/health")).permitAll()
				.antMatchers(this.adminServer.path("/login")).permitAll().anyRequest().authenticated())
				.formLogin((formLogin) -> formLogin.loginPage(this.adminServer.path("/login"))
						.successHandler(successHandler).and())
				.logout((logout) -> logout.logoutUrl(this.adminServer.path("/logout")))
				.httpBasic(Customizer.withDefaults())
				.csrf((csrf) -> csrf.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
						.ignoringRequestMatchers(
								new AntPathRequestMatcher(this.adminServer.path("/instances"),
										HttpMethod.POST.toString()),
								new AntPathRequestMatcher(this.adminServer.path("/instances/*"),
										HttpMethod.DELETE.toString()),
								new AntPathRequestMatcher(this.adminServer.path("/actuator/**"))))
				.rememberMe((rememberMe) -> rememberMe.key(UUID.randomUUID().toString()).tokenValiditySeconds(1209600));
	}

	@Override
	protected void configure(AuthenticationManagerBuilder auth) throws Exception {
		auth.inMemoryAuthentication().withUser(security.getUser().getName())
				.password("{noop}" + security.getUser().getPassword()).roles("USER");
	}

}

應(yīng)用配置文件

spring:
  boot:
    admin:
      context-path: /sba
  security:
    user:
      name: admin
      password: admin

配置用戶和密碼

再次啟動服務(wù)

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

再次啟動客戶端,有如下錯誤

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

修改客戶端配置,需要配置admin server的認(rèn)證信息

spring:
  boot:
    admin:
      client:
        username: admin
        password: admin
        url:
        - http://localhost:8080/sba
        instance:
          prefer-ip: true

添加
spring.boot.admin.client.username和spring.boot.admin.client.password用戶名密碼

再次啟動注冊成功

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

 


admin server是通過actuator來實時監(jiān)控系統(tǒng)的,那如果客戶端的設(shè)置了認(rèn)證信息呢?會發(fā)生什么情況?

  • 保護(hù)Client端認(rèn)證信息

客戶端加入security

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

配置認(rèn)證信息

spring:
  security:
    user:
      name: ak
      password: 123456

啟動客戶端

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

客戶端是注冊上來了,但是信息很少。修改客戶端配置信息

spring:
  boot:
    admin:
      client:
        username: admin
        password: admin
        url:
        - http://localhost:8080/sba
        instance:
          prefer-ip: true
          metadata:
            user.name: ${spring.security.user.name}
            user.password: ${spring.security.user.password}
---
spring:
  security:
    user:
      name: ak
      password: 123456  

注冊的時候配置元信息

再次啟動客戶端

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

現(xiàn)在完全正常了。


  • 動態(tài)修改日志級別

定義一個接口,輸出參數(shù)信息

@RestController
@RequestMapping("/demo")
public class DemoController {
	
	private static Logger logger = LoggerFactory.getLogger(DemoController.class) ;
	
	@GetMapping("/{id}")
	public Object index(@PathVariable("id") String id) {
		logger.debug("DEBUG接收到參數(shù): {}", id) ;
		logger.info("INFO接收到參數(shù):{}", id) ;
		return id ;
	}
	
}

配置文件中加入日志級別

logging:
  level:
    '[com.pack.controller]': debug

監(jiān)控端查看日志配置

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

請求接口查看控制臺輸出

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

info, debug都輸出了,通過監(jiān)控端,修改日志級別

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

再次請求,查看控制臺輸出

使用Spring Boot Admin實時監(jiān)控你的系統(tǒng)

 

現(xiàn)在只有info了。如果服務(wù)重啟那么日志會還原的

分享到:
標(biāo)簽:Spring Boot
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定