【问题标题】:Spring Boot Actuator - Query specific health indicator?Spring Boot Actuator - 查询特定的健康指标?
【发布时间】:2017-10-05 20:11:05
【问题描述】:

您可以向 Spring Boot 的执行器添加许多自定义健康指标,这非常棒,因为它们的总状态被认为是您的应用程序的健康状态。

是否可以只查询其中一项指标?

对于一个复杂的应用程序,我有大约 10 个指标来了解我的总体应用程序运行状况,总体检查大约需要 20 秒。

我希望更频繁地点击一些指标,因为它们可以快速响应高吞吐量组件。是否可以以某种方式查询单个指标?

【问题讨论】:

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

标签: spring-boot monitoring spring-boot-actuator


【解决方案1】:

最后都是autoconfigured beans 说到spring-boot。您需要做的就是自动连接您选择的特定 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());
  }

并且,以下是您可以使用的 AutoConfigured 健康检查指示器 bean 中的 list

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

DiskSpaceHealthIndicator - 检查磁盘空间不足。

DataSourceHealthIndicator - 检查是否可以获得与 DataSource 的连接。

ElasticsearchHealthIndicator - 检查 Elasticsearch 集群是否已启动。

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

JmsHealthIndicator - 检查 JMS 代理是否已启动。

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

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

Neo4jHealthIndicator - 检查 Neo4j 服务器是否已启动。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2019-08-05
    • 2015-07-04
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多