如何用它的当前值和标签重新标记地址
How to relabel address with it's current value and a label
在 json 配置文件中(从 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__]:
编辑:以下似乎有效:
relabel_configs:
- source_labels: [__address__, node_exporter_port]
separator: ';'
regex: '(.*);(.*)'
target_label: __address__
replacement: :
这是惯用语吗?
如果将分隔符更改为冒号,则可以删除正则表达式和替换项,因为默认值可以满足您的需要。
端口标签应以 __ 为前缀,这样它就不会成为目标标签。
以下重新标记配置将端口从 node_exporter_port
标签附加到 __address__
标签:
- source_labels: [__address__, node_exporter_port]
target_label: __address__
separator: ':'
它将原始 __address__
标签值和 node_exporter_port
标签值与给定的 separator: ':'
相结合。
在 json 配置文件中(从 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__]:
编辑:以下似乎有效:
relabel_configs:
- source_labels: [__address__, node_exporter_port]
separator: ';'
regex: '(.*);(.*)'
target_label: __address__
replacement: :
这是惯用语吗?
如果将分隔符更改为冒号,则可以删除正则表达式和替换项,因为默认值可以满足您的需要。
端口标签应以 __ 为前缀,这样它就不会成为目标标签。
以下重新标记配置将端口从 node_exporter_port
标签附加到 __address__
标签:
- source_labels: [__address__, node_exporter_port]
target_label: __address__
separator: ':'
它将原始 __address__
标签值和 node_exporter_port
标签值与给定的 separator: ':'
相结合。