В этом материале
Исчезнувший Prometheus ряд не равен нулю. Staleness означает, что ранее наблюдавшаяся серия больше не возвращается при соответствующем запросе. Проверьте up и состояние target, затем выясните, исчез источник целиком или только конкретная метрика.
Исчезнувший Prometheus ряд не равен нулю. Staleness означает, что ранее наблюдавшаяся серия больше не возвращается при соответствующем запросе. Проверьте up и состояние target, затем выясните, исчез источник целиком или только конкретная метрика.
Сохраните точный запрос
Запишите expression, временной диапазон, step и label selectors. Dashboard transformations могут заменять отсутствующие значения и скрывать первичный результат Prometheus. Сначала посмотрите ответ без такого преобразования. Убедитесь, что job и instance не изменились после deployment: новый labelset создаёт другую серию. Сравнение по старой identity способно выглядеть как пропажа данных, хотя exporter уже публикует их с новой меткой. Также сохраните, какой Prometheus или remote backend отвечает на запрос.
Разберите staleness и lookback
Prometheus выбирает актуальный sample в пределах lookback при вычислении instant expression. Когда серия помечена stale, она перестаёт возвращаться после соответствующей границы. Есть оговорки для exporters, публикующих собственные timestamps. Не объясняйте любой пробел одним универсальным интервалом без проверки версии и конфигурации. Range functions и instant selectors также имеют разные правила обработки входных данных. Отсутствие точки на графике нужно интерпретировать в контексте самого выражения, а не только вида линии.
Сопоставьте три случая
В учебном опыте сначала временно недоступен exporter, затем target удаляется из discovery, затем exporter возвращается без одного семейства метрик. В первом случае up помогает увидеть scrape failure. Во втором сам up для удалённого target тоже со временем перестаёт быть текущим рядом. В третьем up может оставаться 1, хотя выбранной application metric нет. Такие различия показывают, почему единое zero-fill скрывает причину отсутствия наблюдения.
| Наблюдение | Возможная область |
|---|---|
| Up равен нулю | Scrape не удался |
| Up отсутствует | Target удалён или selector не совпал |
| Up равен единице, метрики нет | Изменилось содержимое scrape |
| Метрика явно равна нулю | Источник сообщил значение |
Исправьте проверку отсутствия
Используйте предназначенные функции и expressions для отсутствующих рядов, выбирая нужные labels и временную область. Не складывайте отсутствие и нулевое измерение в один статус здоровья. Если причина в relabeling, сравните scraped и post-relabel samples. Если target сменил identity, обновите discovery и dashboard осознанно, сохранив возможность понять историю. Проверка доступности exporter не заменяет проверку полноты конкретного семейства данных, которое требуется операционному сценарию.
Проверьте восстановленный ряд
После исправления подтвердите текущие samples и их labels, затем отдельно изучите исторический пробел. Новые точки не заполняют прошлую потерю автоматически. Артефакт содержит expression, target state, up и пример исходного scrape без чувствительных данных. Для алерта явно определите реакцию на отсутствие наблюдения. Такой протокол предотвращает ложный вывод «ошибок ноль», когда сам механизм измерения перестал возвращать данные, и позволяет отделить отказ сервиса от отказа наблюдаемости.
Связанные разборы: gpu monitoring scorecard; network and uptime.