Spring boot 弹簧启动执行器-查询特定的运行状况指示器?

Spring boot 弹簧启动执行器-查询特定的运行状况指示器?,spring-boot,monitoring,spring-boot-actuator,Spring Boot,Monitoring,Spring Boot Actuator,您可以向spring boot的执行器添加许多自定义运行状况指示器,这非常好,因为它们的总状态被视为应用程序的运行状况 但是否可以只查询其中一个指标 对于一个复杂的应用程序,我有大约10个指示器来指示我的应用程序的总体运行状况,而整个检查大约需要20秒 有一些指标我想更频繁地提及,因为它们提供了对高通量组件的快速响应。是否可以以某种方式查询单个指标?当涉及到spring boot时,最后都是一些自动配置的bean。您所需要做的就是自动连接您选择的特定healthCheckIndicatorBea

您可以向spring boot的执行器添加许多自定义运行状况指示器,这非常好,因为它们的总状态被视为应用程序的运行状况

但是否可以只查询其中一个指标

对于一个复杂的应用程序,我有大约10个指示器来指示我的应用程序的总体运行状况,而整个检查大约需要20秒


有一些指标我想更频繁地提及,因为它们提供了对高通量组件的快速响应。是否可以以某种方式查询单个指标?

当涉及到
spring boot
时,最后都是一些
自动配置的bean。您所需要做的就是自动连接您选择的特定
healthCheckIndicatorBean
,并使用该bean完成任务

比如说,

  @Autowired
  DiskSpaceHealthIndicator diskSpaceHealthIndicator;

  @Scheduled(fixedDelay = 10000)
  void printDiskHealthCheckEveryTenSeconds() {
    logger.info("Current Disk health {}", diskSpaceHealthIndicator.health().getStatus());
    logger.info("Current Disk details {}", diskSpaceHealthIndicator.health().getDetails());
  }
下面是您可以使用的
自动配置的
健康检查指示器bean

CassandraHealthIndicator-检查Cassandra数据库是否已启动

DiskSpaceHealthIndicator-检查磁盘空间是否不足

数据源HealthIndicator-检查是否可以获得到数据源的连接

ElasticsearchHealthIndicator-检查Elasticsearch群集是否启动

influxdbhealthinedicator-检查InfluxDB服务器是否已启动

JmsHealthIndicator-检查JMS代理是否启动

MailHealthIndicator-检查邮件服务器是否已启动

MongoHealthIndicator-检查Mongo数据库是否已启动

Neo4j健康指示器-检查Neo4j服务器是否已启动

RabbitHealthIndicator-检查Rabbit服务器是否启动

RedisHealthIndicator-检查Redis服务器是否已启动


SolrHealthIndicator-检查Solr服务器是否已启动。

您可以创建自己的执行器端点。。。您还可以在检查内部进行某种全局去抖动,因此并非每次都调用所有方法。我会选择前者,因为后者会影响端点的任何使用,甚至是手动使用。