Prometheus как работают показатели «вверх»

#prometheus

#prometheus

Вопрос:

Я ищу информацию о том, как Prometheus вычисляет показатели «up»

 up{job="<job-name>", instance="<instance-id>"}: 1 if the instance is healthy, i.e. reachable, or 0 if the scrape failed.
  

Как Prometheus вычисляет, когда

экземпляр исправен

Я использую Apache Cassandra с Prometheus, и время от времени показатели «вверх» показывают «вниз». Однако Cassandra работает нормально.

Ответ №1:

Из документов:

up{job="<job-name>", instance="<instance-id>"} : 1 исправен ли экземпляр, т. е. достижим ли он, или 0 не удалась очистка.

т. е. это метрика для каждого скребка / экспортера, которая означает, был ли экспортер доступен / достижим или нет.

Комментарии:

1. хм, вы копируете и вставляете именно то, что я вставил из docs. Спасибо. Однако мой вопрос все еще остается без ответа: как scraper вычисляет, что экземпляр «up»

2. это не вычисление, если очистка прошла успешно, то значение up = 1, если сбой (например, 4xx, 5xx, тайм-аут, недоступно, не маршрутизируется), то значение up = 0

3. вы знаете, где я могу найти логику scrape, отвечающую за показатели «вверх / вниз»? Cassandra — это база данных NoSQL, я не понимаю, откуда prometheus получает эти значения 4xx, 5xx или таймаута. Откуда они знают, что проверять

4. prom очищает то, что вы указываете ему для очистки (порт и целевые объекты в конфигурации обнаружения), то, что он обрабатывает, зависит от экспортера, который вы настраиваете в cass

Ответ №2:

Prometheus автоматически добавляет up метрику наряду с несколькими другими метриками (такими как scrape_duration_seconds , scrape_samples_scraped scrape_series_added и т.д.) При извлечении метрик из каждого настроенного целевого объекта очистки — смотрите Эти документы для получения более подробной информации. up Метрика устанавливается равной 1 для каждой успешной очистки. Для него установлено значение 0 в противном случае. up Метрика может быть установлена на 0 в следующих случаях:

  • Когда цель очистки была недоступна во время очистки.
  • Когда целевой объект не вернул ответ в течение настроенного тайм-аута. Время ожидания может быть настроено с помощью scrape_timeout опции. По умолчанию оно установлено равным 10 секундам. Смотрите более подробную информацию об этой опции здесь.
  • Когда во время очистки возникла проблема с сетью, которая помешала успешной очистке.
  • Когда цель очистки возвращает неверный или неполный ответ. Ответ должен содержать показатели со значениями в формате текстового изложения Prometheus.

Могут быть и другие причины неудачной очистки. Последнюю причину неудачной очистки можно просмотреть на http://prometheus-host:9090/targets странице в error столбце. Смотрите, например, http://demo.robustperception.io:9090/targets .