我想减少在Kube状态度量下抓取的度量的数量。当我使用以下配置时:
metric_relabel_configs:
- source_labels: [__name__]
separator: ;
regex: kube_pod_(status_phase|container_resource_requests_memory_bytes|container_resource_requests_cpu_cores|owner|labels|container_resource_limits_memory_bytes|container_resource_limits_cpu_cores)
replacement: $1
action: keep
它正在发挥作用,我只能看到我上面选择的指标。但当我尝试添加另一条规则时:
metric_relabel_configs:
- source_labels: [__name__]
separator: ;
regex: kube_pod_(status_phase|container_resource_requests_memory_bytes|container_resource_requests_cpu_cores|owner|labels|container_resource_limits_memory_bytes|container_resource_limits_cpu_cores)
replacement: $1
action: keep
- source_labels: [__name__]
separator: ;
regex: kube_replicaset_(owner)
replacement: $1
action: keep
它将删除所有内容,包括以前有效的第一条规则。应该如何正确地编写它,以便我可以创建多个规则来保持选择性度量?
发现两个条件不可能在一起,只有一个keep
可以。
我做了一些测试,这对我来说很有效。
metric_relabel_configs:
- source_labels: [ __name__ ]
regex: "metrics_name_foo"
action: keep
- source_labels: [ namespace ]
regex: "istio-system"
action: keep