springBoot2.X整合prometheus

1、首先需要引入依賴:

	<!-- prometheus config start-->
            <dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-actuator</artifactId>
	    </dependency>
	    <dependency>
		<groupId>io.micrometer</groupId>
		<artifactId>micrometer-registry-prometheus</artifactId>
		<version>1.1.3</version>
	    </dependency>
	    <dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-security</artifactId>
	    </dependency>
	<!-- prometheus config end-->

spring-boot-starter-security依賴是爲了開啓對監控數據獲取接口(我這裏是/prometheus)進行用戶名密碼校驗的,如果沒有這個校驗我們的監控接口相當於在裸奔。任何人都可以通過這個接口獲取我們的監控數據

 

2、添加一個配置類,使prometheus知道我們當前項目的名稱以及其他信息

@Configuration
public class MicrometerConfiguration {
    @Bean
    MeterRegistryCustomizer meterRegistryCustomizer(MeterRegistry meterRegistry) {
        return meterRegistry1 -> {
            meterRegistry.config()
                    .commonTags("application", "micrometer-gateway");
        };
    }
}
  • 3、添加一個security安全配置類
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    private Environment env;
    @Override
    protected void configure(HttpSecurity http) throws Exception {
         http.requestMatchers().antMatchers("/actuator/**").and()                                  .authorizeRequests().antMatchers("/actuator").authenticated().anyRequest().permitAll()
        .and()
  .formLogin().permitAll().and()
  .logout().permitAll();
 }
}

 主要用途是對/monitor/*下的接口進行用戶名密碼校驗

  • 4、配置application.properties

    #監控地址前綴
    management.endpoints.web.base-path=/monitor
    management.endpoints.web.exposure.include=*
    management.endpoints.jmx.exposure.include=*
    management.endpoints.shutdown.exposure.include=*
    management.metrics.distribution.percentiles-histogram[http.server.requests]=true
    
    #這是spring-boot-starter-security對應的basic_auth驗證開啓
    spring.security.user.name=admin
    spring.security.user.password=admin

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章