gpt4 book ai didi

java - 当 Spring Boot 健康检查状态发生变化时收到通知

转载 作者:行者123 更新时间:2023-12-01 19:53:04 25 4
gpt4 key购买 nike

当注册的健康检查指标的状态发生变化时,是否有办法收到通知?例如,当数据库的健康检查指标下降时,我想采取一些行动。

实际上,我的最终目标是将健康检查状态导出到 Prometheus 的指标中。因此,当状态发生变化时,我想更新健康指标。

最佳答案

我假设您的问题是指千分尺issue 416和千分尺文档 issue 39 .

根据文档,您可以注册自定义 HealthMetricsConfiguration。仪表的值由 ComposeHealthIndicator 返回的状态决定,并且实际上根据单个 HealthIndicator 的状态而变化。

我正在使用前面提到的 HealthMetricsConfiguration(只是具有不同的状态值映射,如问题 416 中讨论的那样)。

我们没有继续实现自定义交替运行状况指示器:

@Component
public class AlternatingHealthIndicator extends AbstractHealthIndicator {

@Override
protected void doHealthCheck(Builder builder) throws Exception {
int minute = LocalDateTime.now().getMinute();
boolean minuteIsEven = minute % 2 == 0;
builder.status(minuteIsEven ? Status.UP : Status.DOWN);
builder.withDetail("description", "UP when current minute is even; DOWN when current minute is odd");
builder.withDetail("currentMinute", minute);
builder.withDetail("minuteIsEven", minuteIsEven);
}

}

Prometheus 端点上导出的 health 仪表正在从 1=UP 细微地更改为 -2=DOWN。这是一个可视化:

alternating health status visualized in Grafana, queried from Prometheus

关于警报,您可以使用 Grafana 警报或查看 Prometheus 的 Alertmanager。

关于java - 当 Spring Boot 健康检查状态发生变化时收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50625517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com