получать уведомления при изменении состояния весенней загрузки - PullRequest
0 голосов
/ 31 мая 2018

Есть ли способ получать уведомления при изменении состояния зарегистрированных индикаторов проверки работоспособности?Например, когда индикатор работоспособности базы данных падает, я хотел бы предпринять некоторые действия.

На самом деле, моя последняя цель - экспортировать статус проверки работоспособности в метрики Прометея.Поэтому при изменении статуса я хочу обновить показатели здоровья.

1 Ответ

0 голосов
/ 01 июня 2018

Я предполагаю, что ваш вопрос относится к микрометру , выпуск 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.Вот визуализация:

alternating health status visualized in Grafana, queried from Prometheus

Что касается оповещений, вы можете использовать оповещения Grafana или заглянуть в Alertmanager Прометея.

...