结合春季启动器/健康/信息为一体

问题描述 投票:2回答:2

目前我们有一个框架,我们检查微服务,并检查有关我们应用的健康和资讯信息的URL。这里的限制是,这个框架只能检查1个网址。

我想要做的就是/健康/信息的信息组合成一个,并有/健康也显示出/信息的信息,部署的应用程序的最显着的版本。是这样的可能的开箱即用的,或者我应该创建一个显示这些信息我自己的健康检查?

java spring-boot spring-boot-actuator
2个回答
0
投票

您可以添加以下代码段application.yml文件集成/健康/信息端点为/信息端点。

info:
  build:
    artifact: @project.artifactId@
    version: @project.version@
    status: UP

0
投票

我不认为存在什么样的配置,你可以做出来的盒子来实现这一点的,但是你应该能够编写自己的healthendpoint是实现这一目的。以下为我工作。

1.5.x的春天

@Component
public class InfoHealthEndpoint extends HealthEndpoint {

    @Autowired
    private InfoEndpoint infoEndpoint;

    public InfoHealthEndpoint(HealthAggregator healthAggregator, Map<String, HealthIndicator> healthIndicators) {
        super(healthAggregator, healthIndicators);
    }

    @Override
    public Health invoke() {
        Health health = super.invoke();
        return new Health.Builder(health.getStatus(), health.getDetails())
                .withDetail("info", infoEndpoint.invoke())
                .build();
    }

}

春天2.X

public class InfoHealthEndpoint extends HealthEndpoint {

    private InfoEndpoint infoEndpoint;

    public InfoHealthEndpoint(HealthIndicator healthIndicator, InfoEndpoint infoEndpoint) {
        super(healthIndicator);
        this.infoEndpoint = infoEndpoint;
    }

    @Override
    @ReadOperation
    public Health health() {
        Health health = super.health();
        return new Health.Builder(health.getStatus(), health.getDetails())
                .withDetail("info", this.infoEndpoint.info())
                .build();
    }

}

@Configuration
class HealthEndpointConfiguration {

    @Bean
    @ConditionalOnEnabledEndpoint
    public HealthEndpoint healthEndpoint(HealthAggregator healthAggregator,
            HealthIndicatorRegistry registry, InfoEndpoint infoEndpoint) {
        return new InfoHealthEndpoint(
                new CompositeHealthIndicator(healthAggregator, registry), infoEndpoint);
    }

}

然后,如果你需要把它添加到多个微服务,你应该能够只是创建你自己的jar是自动配置这个端点来替换驱动器默认状况检查。

© www.soinside.com 2019 - 2024. All rights reserved.