当前位置: 首页 > 知识库问答 >
问题:

春靴如何聚合健康指标

厉熠彤
2023-03-14

我使用这篇Baeldung文章为Spring 2.0.4应用程序添加了执行器支持。在第4.4节中,它谈到

你们中有谁知道关于创建这种聚合的教程、示例或其他文档吗?

更多信息我在我的应用程序中有一个服务,它依赖于几个子组件。只有当所有这些子组件都关闭时,服务本身才被认为关闭。只要有一个站起来,那么服务就站起来了。目前使用的是正常的HealThindicator机制,如果其中一个子组件宕机,则将服务器标记为宕机。

似乎我想使用CompositeHealThindicator,但不清楚如何创建子HealthIndicators而不让系统接收它们。需要注意的是,这些子组件中的每一个都使用@schedured注释,我的理解是,为了使其发挥作用,类必须使用@component注释(或一些类似的注释),这将导致它被创建并被吸收到应用程序健康状态中。

{“状态”:“向上”,“详细信息”:{“MyServ1”:{“状态”:“向上”,“详细信息”:{“延迟”:...}},“MyServ2”:{“状态”:“向上”,“详细信息”:{“延迟”:...}},“磁盘空间”:{“状态”:“向上”,“详细信息”:{“总计”:...,“空闲”:...,“阈值”:...}}

但是如果'myserv1'或'mysrv2'关闭,则总体状态为down,但我只希望在‘磁盘空间’关闭或'myserv1'和'myserv2'关闭时发生这种情况。

似乎CompositeHealthIndicator是合适的类,只是不清楚如何为它创建儿童健康指标(只需使用new)?

提前致谢

共有1个答案

夏侯航
2023-03-14

通过org.springframework.boot.actuate.health.HealthAggregator的实现将每个健康指示器中的状态聚合成一个整体状态。Spring Boot自动配置OrderedHealthAggregator的实例。如果您提供了自己的bean来实现HealthAggregator,那么自动配置的聚合器将退出,而支持您的自定义实现。

聚合器的aggrege方法使用映射 调用,其中键是健康指示器的名称,值是它们的状态。知道子组件的健康指示器的名称应该允许您为它们执行自定义聚合。

 类似资料:
  • 这将为应用程序添加几个有用的endpoint。其中之一是/健康。当您启动应用程序并导航到/healthendpoint时,您将看到它已经返回了一些数据。 如何在春靴健康中添加自定义健康检查?

  • Spring Cloud Stream为粘合剂提供健康指标。它以binders的名义注册,可以通过设置management.health.binders.enabled属性启用或禁用。

  • 我有一个基于SpringBoot的web应用程序,它公开了一个Consor健康指示器bean 在进一步检查后,我发现了负责获取所有可用指标的下面片段(HealthEndpoint Configuration.java): 在这里设置一个断点,我看到ConsultHealthIndicator bean确实没有列在applicationContext的输出中。getBeansOfType(Healt

  • 我有一个正在运行的Springboot应用程序,它提供URL并按预期返回JSON响应。 我添加了执行器依赖

  • 当我从Spring Boot应用程序访问/healthendpoint时,它返回的状态为UP: 但我想像这样定制我的状态: 如何自定义状态?

  • 1.介绍一下项目 2.移动端适配 3.css选择器优先级 4.有没有做过性能优化 5.路由懒加载如何实现的 6.vite和webpack你是如何如何选型的 7.输入url到页面渲染过程(绘制的过程了解吗) 8.强缓存和协商缓存(301和302状态码是什么) 9.了解性能指标吗,如何减少lcp 实现a + b === c兼容小数计算 实现一个EventEmitter类