scrape_interval

Тема дорожной карты · Prometheus

scrape_interval — параметр конфигурации Prometheus, определяющий, как часто Prometheus опрашивает каждую цель для сбора метрик. Этот параметр может быть задан глобально в разделе global файла конфигурации prometheus.yml, например, scrape_interval: fsp15s, или переопределен для отдельных заданий в разделе scrape_configs. Важно отметить, что более короткий scrape_interval обеспечивает более высокое временное разрешение метрик, но увеличивает нагрузку на ЦП, сеть и хранилище как Prometheus, так и опрашиваемых целей. Таким образом, выбор оптимального значения scrape_interval является ключевым аспектом настройки Prometheus для эффективного мониторинга.

Как это работает

scrape_interval определяется в разделе scrape_configs: конфигурационного файла prometheus.yml. Этот параметр позволяет указать интервал времени между каждым опросом целей. Например, в разделе scrape_configs: можно указать job_name, static_configs или использовать сервисное открытие (kubernetes_sd_configs, consul_sd_configs, dns_sd_configs и т.д.), а также задать параметры scrape_interval (по умолчанию 15 секунд), scrape_timeout, metrics_path (по умолчанию /metrics), scheme (http/https), аутентификацию (basic_auth, bearer_token, tls_config). Параметр relabel_configs используется для переписывания списка таргетов перед опросом, а metric_relabel_configs — после опроса.

Когда применять

scrape_interval особенно полезен в динамических средах, таких как Kubernetes, Consul или EC2 tags, где статические списки таргетов быстро устаревают. В таких случаях рекомендуется использовать сервисное открытие для автоматического обнаружения и мониторинга целей. Если метрики меняются быстро, можно уменьшить scrape_interval для обеспечения более частого обновления данных. Однако, если метрики меняются медленно, например, при мониторинге дисковых накопителей, можно увеличить scrape_interval до 60 секунд или более, чтобы снизить нагрузку на систему.

Типичные ошибки

Одной из распространенных ошибок при настройке scrape_interval является установка scrape_timeout равным scrape_interval. В этом случае таймаут опроса крадет следующий опрос, что может привести к неправильной работе системы. Другой распространенной ошибкой является опрос эндпоинтов, отвечающих за более длительное время, чем scrape_interval. Это может привести к каскаду таймаутов, что также негативно сказывается на производительности системы. Наконец, важно не забывать опрашивать метрику up{...} для каждого задания, так как без неё невозможно создать оповещение о том, что опрос завершился неудачно. К счастью, Prometheus автоматически генерирует эту метрику.

Связанные понятия

Полезные ресурсы