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

Пример задачи сервера API с четырьмя репликами-экземплярами:

- 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++ опрашивает целевой эндпоинт (target), он автоматически добавляет к собранным временным рядам несколько служебных лейблов, которые помогают идентифицировать источник данных:

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