Relabeling

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

Перемаркировка (relabeling) в Prometheus — мощный и гибкий механизм динамического преобразования меток, связанных с целями опроса и метриками по мере их прохождения через конвейер Prometheus. Этот механизм играет ключевую роль в интеграции с динамическими системами обнаружения сервисов, обеспечении единообразного именования меток и управлении кардинальностью метрик в масштабе. Перемаркировка в Prometheus позволяет адаптировать метаданные целей и метрики в реальном времени, что делает её незаменимой для эффективного мониторинга и анализа данных.

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

Перемаркировка позволяет переписывать метки (и сам список таргетов) до и после опроса. Существует два этапа перемаркировки: relabel_configs, применяемый к метаданным целей перед опросом, и metric_relabel_configs, применяемый к опрошенным образцам перед их сохранением. Каждое правило перемаркировки состоит из полей source_labels, separator, regex, modulus, target_label, replacement и action. Правила обрабатываются последовательно как конвейер. Перемаркировка поддерживает широкий спектр действий: replace (перезапись значения метки), keep и drop (фильтрация целей или образцов), hashmod (распределение целей по шардам), labelmap (копирование меток по регулярному выражению) и labeldrop/labelkeep (удаление меток по имени).

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

metric_relabel_configs используются для удаления меток, которые не должны экспонироваться, например, метки, генерируемые системами, такие как pod_template_hash из Kubernetes. relabel_configs используются для фильтрации таргетов; для этого применяются действия keep и drop, основываясь на регулярных выражениях. Важно тщательно тестировать изменения в конфигурациях с помощью promtool check rules и promtool query перед деплоем.

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

Типичные ошибки при использовании перемаркировки включают сложные цепочки перемаркировки, которые становятся непонятными через некоторое время (что требует тщательного документирования комментариями). Также ошибки могут возникать при попытках удалить метки после сохранения метрик, так как перемаркировка происходит при опросе, а не при запросе, что оставляет исторические данные с метками, которые уже были удалены. Кроме того, регулярные выражения могут матчит больше, чем было задумано, что требует тщательного тестирования с помощью promtool.

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

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