#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 .