#prometheus
#prometheus
Вопрос:
В файле конфигурации json (ссылка на from file_sd_configs
) У меня есть такие записи, как
[
...
"targets": [ "10.123.456.789"],
"labels": { "node_exporter_port": "9300" }
},
...
]
В конфигурации Prometheus я бы хотел relabel_configs
, чтобы значение __address__
было текущим значением адреса плюс порт. Попытки, подобные приведенным ниже, не работают:
relabel_configs:
- source_labels: [node_exporter_port]
regex: (.*)
target_label: __address__
replacement: [__address__]:${1}
РЕДАКТИРОВАТЬ: похоже, работает следующее:
relabel_configs:
- source_labels: [__address__, node_exporter_port]
separator: ';'
regex: '(.*);(.*)'
target_label: __address__
replacement: ${1}:${2}
Это идиоматично?
Ответ №1:
Если вы измените разделитель на двоеточие, вы можете удалить регулярное выражение и заменить его, поскольку значения по умолчанию делают то, что вам нужно.
Метка порта должна иметь префикс __, чтобы она не стала целевой меткой.
Комментарии:
1. Очищено
relabel_configs
: `relabel_configs: — source_labels: [ address , node_exporter_port] разделитель: ‘: ‘ target_label: __address `
Ответ №2:
Следующая конфигурация перемаркировки добавляет порт из node_exporter_port
метки в __address__
метку:
- source_labels: [__address__, node_exporter_port]
target_label: __address__
separator: ':'
Он объединяет исходное __address__
значение метки и значение node_exporter_port
метки с заданным separator: ':'
.