Я предполагаю, что ваш вопрос относится к микрометру , выпуск 416 и Micrometer-Docs , выпуск 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);
}
}
Индикатор health
, экспортируемый на конечную точку Прометея, незначительно меняется с 1=UP
до -2=DOWN
.Вот визуализация:
Что касается оповещений, вы можете использовать оповещения Grafana или заглянуть в Alertmanager Прометея.