Spring cloud Spring boot admin显示网关服务器关闭的状态

Spring cloud Spring boot admin显示网关服务器关闭的状态,spring-cloud,netflix-eureka,netflix-zuul,spring-boot-actuator,spring-boot-admin,Spring Cloud,Netflix Eureka,Netflix Zuul,Spring Boot Actuator,Spring Boot Admin,我开发了一个微服务环境,它是由SpringCloud开发的 网关服务器由Zuul开发,并通过X.509证书认证(相互认证)进行保护 我使用SpringBootAdmin来监控微服务 我已经在我的应用程序中使用了Spring Cloud Discovery,并向Spring Boot Admin Server添加了一个DiscoveryClient: @Configuration @EnableAutoConfiguration @EnableDiscoveryClient @EnableAdmi

我开发了一个微服务环境,它是由SpringCloud开发的

网关服务器由Zuul开发,并通过X.509证书认证(相互认证)进行保护

我使用SpringBootAdmin来监控微服务

我已经在我的应用程序中使用了Spring Cloud Discovery,并向Spring Boot Admin Server添加了一个DiscoveryClient:

@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableAdminServer
public class ApiAdminServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApiAdminServerApplication.class, args);
    }
}
Spring启动管理属性:

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=ALWAYS
spring.security.user.name=admin
spring.security.user.password=password
management.endpoint.metrics.enabled=true
management.endpoints.web.exposure.include=*
management.endpoint.prometheus.enabled=true
management.metrics.export.prometheus.enabled=true
management.metrics.tags.application=${spring.application.name}
server.ssl.enabled=true
server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:tls/keyStore.p12
server.ssl.key-store-password=changeit
server.ssl.trust-store=classpath:tls/trustStore.jks
server.ssl.trust-store-password=changeit
server.ssl.trust-store-type=JKS
server.ssl.client-auth=need
服务发现属性:

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=ALWAYS
spring.security.user.name=admin
spring.security.user.password=password
management.endpoint.metrics.enabled=true
management.endpoints.web.exposure.include=*
management.endpoint.prometheus.enabled=true
management.metrics.export.prometheus.enabled=true
management.metrics.tags.application=${spring.application.name}
server.ssl.enabled=true
server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:tls/keyStore.p12
server.ssl.key-store-password=changeit
server.ssl.trust-store=classpath:tls/trustStore.jks
server.ssl.trust-store-password=changeit
server.ssl.trust-store-type=JKS
server.ssl.client-auth=need
网关属性:

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=ALWAYS
spring.security.user.name=admin
spring.security.user.password=password
management.endpoint.metrics.enabled=true
management.endpoints.web.exposure.include=*
management.endpoint.prometheus.enabled=true
management.metrics.export.prometheus.enabled=true
management.metrics.tags.application=${spring.application.name}
server.ssl.enabled=true
server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:tls/keyStore.p12
server.ssl.key-store-password=changeit
server.ssl.trust-store=classpath:tls/trustStore.jks
server.ssl.trust-store-password=changeit
server.ssl.trust-store-type=JKS
server.ssl.client-auth=need
网关服务器作为应用程序显示在spring boot管理面板中,但其状态为关闭


如何配置spring boot admin以监控https网关应用程序?

spring boot admin调用
/exactor/health
端点以了解应用程序的运行状况。请检查此终结点是否正常工作,否则,您可能需要根据您的需求对其进行配置。 默认情况下,Spring检查此处提到的许多运行状况指标:

您还可以配置自己的指示器,这是文档中的一个片段:


我在网关的application.properties文件中禁用SSL身份验证:

management.server.ssl.enabled=false
并忽略网关的WebSecurityConfigureAdapter类中的url路径:

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .csrf()
                .disable()
                .authorizeRequests()
                .antMatchers( "/actuator/health/**").permitAll()
                .anyRequest().authenticated().and()
                .x509()
                .subjectPrincipalRegex("CN=(.*?)(?:,|$)")
                .userDetailsService(userDetailsService());
    }

    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/actuator/**");
    }
但要小心,此解决方案会为所有请求公开网关服务器的重要运行状况信息