Regex 普罗米修斯/从元标记创建标记列表
Im使用,通过使用普罗米修斯yml中的以下代码,将gce标签带到普罗米修斯标签上:Regex 普罗米修斯/从元标记创建标记列表,regex,prometheus,Regex,Prometheus,Im使用,通过使用普罗米修斯yml中的以下代码,将gce标签带到普罗米修斯标签上: relabel_configs: - source_labels: [__meta_gce_tags] target_label: tags 标签如下所示: tags=",node_a,node_prod,node_centos," 问题是,它提供了一个字符串列表,而我希望有一个标记列表,以便查询它。例如,不使用: sum(elasticsearch_node_stats_up{tags=~".
relabel_configs:
- source_labels: [__meta_gce_tags]
target_label: tags
标签如下所示:
tags=",node_a,node_prod,node_centos,"
问题是,它提供了一个字符串列表,而我希望有一个标记列表,以便查询它。例如,不使用:
sum(elasticsearch_node_stats_up{tags=~".*?noda_a.*node_prod.?"})
我将能够使用它没有正则表达式。有什么办法吗?在重新标记期间,可以使用正则表达式从标签值中提取值。所以试试这个,它不是很干,但是很有效:
relabel_configs:
- source_labels: [__meta_gce_tags]
regex: ",node_([a-z]+),node_[a-z]+,node_[a-z]+"
target_label: node
replacement: '${1}'
- source_labels: [__meta_gce_tags]
regex: ",node_[a-z]+,node_([a-z]+),node_[a-z]+"
target_label: env
replacement: '${1}'
- source_labels: [__meta_gce_tags]
regex: "",node_[a-z]+,node_[a-z]+,node_([a-z]+)""
target_label: os
replacement: '${1}'
请注意,可能有一个更优雅的正则表达式可供使用
如果您可以控制标签值,以下是一种更持久的技术: