Служебные лейблы и метрики


В терминах Deckhouse Prom++, конечная точка (“endpoint”), с которой можно собирать метрики, называется instance — как правило, это один рабочий процесс.
Набор экземпляров (instance) с одинаковым назначением — например, реплики одного и того же процесса, используемые для масштабирования или обеспечения отказоустойчивости — называется job.

Например, задача (job) сервера API с четырьмя репликами экземплярами (instance):

  • job: api-server
    • instance 1: 1.2.3.4:5670
    • instance 2: 1.2.3.4:5671
    • instance 3: 5.6.7.8:5670
    • instance 4: 5.6.7.8:5671

Автоматически создаваемые лейблы и временные ряды

Когда Deckhouse Prom++ опрашивает целевой endpoint (цель), он автоматически добавляет к собранным временным рядам несколько служебных лейблов, которые помогают идентифицировать источник данных:

  • job: Имя задачи (job), к которой принадлежит целевая система, согласно настройке.
  • instance: Часть URL целевого сервиса в формате <host>:<port>, с которого были собраны данные.

Если любая из этих лейблов (job или instance) уже присутствует в исходных данных, поведение определяется настройкой honor_labels. Дополнительные подробности можно найти в документации по настройке сбора данных (scraping).

При каждом сборе данных (scraping) экземпляра Deckhouse Prom++ создает несколько дополнительных временных рядов:

  • up{job="<job-name>", instance="<instance-id>"}: Равен 1, если экземпляр доступен (scrape прошёл успешно), и 0, если опрос не удался.
  • scrape_duration_seconds{job="<job-name>", instance="<instance-id>"}: Продолжительность опроса в секундах.
  • scrape_samples_post_metric_relabeling{job="<job-name>", instance="<instance-id>"}: Количество метрик после применения правил переименования метрик (metric relabeling).
  • scrape_samples_scraped{job="<job-name>", instance="<instance-id>"}: Общее количество метрик, полученных от целевой системы за опрос.
  • scrape_series_added{job="<job-name>", instance="<instance-id>"}: Приблизительное количество новых временных рядов, добавленных за опрос.

Временной ряд up широко используется для мониторинга доступности экземпляров.

Если активирован флаг extra-scrape-metrics, дополнительно доступны следующие метрики:

  • scrape_timeout_seconds{job="<job-name>", instance="<instance-id>"}: Настроенное значение scrape_timeout для целевой системы.
  • scrape_sample_limit{job="<job-name>", instance="<instance-id>"}: Настроенный лимит числа метрик (sample_limit) для опроса. Если лимит не задан, будет возвращено значение 0.
  • scrape_body_size_bytes{job="<job-name>", instance="<instance-id>"}: Размер ответа последнего опроса (в байтах), если опрос прошёл успешно. При ошибке из-за превышения лимита body_size_limit будет возвращено -1, в остальных случаях неудачного опроса — 0.