relabel_configs
Тема дорожной карты · Prometheus
Раздел relabel_configs в конфигурации опроса Prometheus (scrape_config) представляет собой конвейер правил перемаркировки меток метаданных обнаруженных целей. Это позволяет фильтровать цели, изменять их метки и устанавливать параметры конфигурации, такие как адрес или путь опроса. Перемаркировка меток играет важную роль в настройке и управлении метриками, позволяя адаптировать данные для конкретных задач мониторинга и анализа.
Каждое правило в списке relabel_configs задаёт source_labels (метки, которые используются для чтения данных), regex для сопоставления, target_label для записи, replacement (который может содержать группы захвата регулярного выражения) и action — например, replace, keep, drop, labelmap, labeldrop или labelkeep. Специальные метки __address__ и __metrics_path__ можно перезаписать через relabel_configs, чтобы переопределить эндпоинт опроса по умолчанию для цели. Например, типичный шаблон использует relabel_configs для считывания аннотации Kubernetes вида prometheus.io/port и замены __address__ корректным портом перед опросом. Конвейер relabel_configs выполняется до опроса, тогда как metric_relabel_configs выполняется после опроса на возвращённых образцах.
Как это работает
relabel_configs позволяет переписывать метки (и сам список таргетов) до и после опроса. Распространённые действия включают удаление меток с высокой кардинальностью через metric_relabel_configs и action: labeldrop, переименование меток (action: replace), фильтрацию таргетов (action: keep / drop по regex-матчу), слияние меток (action: labelmap). Порядок важен — правила relabel_configs обрабатываются последовательно.
Когда применять
metric_relabel_configs используется для удаления меток, которые не должны экспонироваться (pod_template_hash из Kubernetes — генерируется случайным образом, бесполезен). relabel_configs применяется для фильтрации таргетов; keep оставляет только те таргеты, которые совпадают с regex. Перед деплоем изменений следует протестировать их с помощью promtool check rules и promtool query.
Типичные ошибки
Типичные ошибки при использовании relabel_configs включают сложные цепочки правил перемаркировки, которые становятся непонятными через шесть месяцев (следует документировать каждое правило комментариями); удаление меток с помощью labeldrop после сохранения метрик (перемаркировка происходит при опросе, а не при запросе, поэтому исторические данные всё ещё содержат эти метки); регулярное выражение матчит больше, чем было задумано (следует тщательно тестировать с помощью promtool).