Absent Prometheus: обнаружить отсутствие ряда отдельно от нормального нуля
Фотография конкретного исполнения не приложена.
Absent возвращает пустой вектор при наличии входных элементов и элемент со значением 1, когда их нет. Absent_over_time проверяет отсутствие в заданном временном окне. Это инструменты для контроля наблюдаемости, а не способ доказать, что физическое оборудование остановилось либо его измерение стало равным нулю.
Для применения нужен перечень ожидаемых источников и labels. Если запрос ищет только общий job, один оставшийся exporter может скрыть исчезновение другого. Состав результата также зависит от выражения: функция выводит labels из входного селектора по предусмотренным правилам, а предшествующее агрегирование способно убрать нужную идентичность.
В проекте раздельно определяют штатный ноль, отсутствие sample и отсутствие самого target. Окно выбирают с учётом расписания сбора и допустимого времени обнаружения пропуска. Слишком короткая проверка создаёт реакцию на обычные задержки, слишком общая — теряет отдельный отсутствующий объект внутри работоспособной группы.
В приёмке удаляют один ожидаемый ряд, оставляя соседние, затем возвращают его с нулевым значением. Проверяют labels и отличающиеся результаты. Пустой график или пустой вектор произвольного агрегата не заменяют точную проверку отсутствия предусмотренного источника и правильного адресата диагностики.
Основание — Prometheus official latest/practices documentation snapshot; Download stable3.15.1 distinguished from prerelease3.16.0-rc.2, разделы absent; absent_over_time. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Установленный Prometheus, exporters и правила объекта не проверялись. Это проектная проверка мониторинга, не отчёт о запросах к реальному серверу или доставленных уведомлениях.