Пытаюсь отфильтровать некоторые сервисы с помощью relabel_config
. На мишени у меня есть метка app.kubernetes.io/name
со значением kube-state-metrics
.
Когда я настроил свой relabel-configs
, я понял, что .
и /
недействительны в соответствии с Документация Прометея. Я получаю сообщение об ошибке, жалующееся на эти недопустимые символы. Достижимо ли это, если не считать добавления новой метки к этой услуге? Большинство диаграмм Helm используют это соглашение о метках, поэтому было бы много работы, чтобы добавить дополнительные метки для всего, надеясь избежать этого.
relabel_configs:
- source_labels: [app.kubernetes.io/name]
action: keep
regex: kube-state-metrics
Prometheus меняет точки .
и косые черты /
на символы подчеркивания _
во время обнаружения службы, поэтому вам нужно заменить и их: app_kubernetes_io_name
. Но это еще не все, вам также может понадобиться добавить к нему префикс __meta_kubernetes_pod_label_
:
- job_name: 'pods'
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]
action: keep
regex: kube-state-metrics
Вы правы. На самом деле я понял это примерно через час после того, как опубликовал это. Но спасибо за ваш ответ, я отмечу его как принятый. Цените свой вклад.