Spring boot 弹簧启动执行器-查询特定的运行状况指示器?
您可以向spring boot的执行器添加许多自定义运行状况指示器,这非常好,因为它们的总状态被视为应用程序的运行状况 但是否可以只查询其中一个指标 对于一个复杂的应用程序,我有大约10个指示器来指示我的应用程序的总体运行状况,而整个检查大约需要20秒Spring boot 弹簧启动执行器-查询特定的运行状况指示器?,spring-boot,monitoring,spring-boot-actuator,Spring Boot,Monitoring,Spring Boot Actuator,您可以向spring boot的执行器添加许多自定义运行状况指示器,这非常好,因为它们的总状态被视为应用程序的运行状况 但是否可以只查询其中一个指标 对于一个复杂的应用程序,我有大约10个指示器来指示我的应用程序的总体运行状况,而整个检查大约需要20秒 有一些指标我想更频繁地提及,因为它们提供了对高通量组件的快速响应。是否可以以某种方式查询单个指标?当涉及到spring boot时,最后都是一些自动配置的bean。您所需要做的就是自动连接您选择的特定healthCheckIndicatorBea
有一些指标我想更频繁地提及,因为它们提供了对高通量组件的快速响应。是否可以以某种方式查询单个指标?当涉及到
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服务器是否已启动。您可以创建自己的执行器端点。。。您还可以在检查内部进行某种全局去抖动,因此并非每次都调用所有方法。我会选择前者,因为后者会影响端点的任何使用,甚至是手动使用。