本文主要是介绍promethus 的 relabel_configs 和 metric_relabel_configs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
很多童鞋在群里面反馈 relabel_configs 和 metric_relabel_configs 两个配置使用区别。都是relabel
譬如relabel_configs的relabel如下:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]separator: ;regex: "true"replacement: $1action: keep- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]separator: ;regex: ([^:]+)(?::\d+)?;(\d+)target_label: __address__replacement: $1:$2action: replace- separator: ;regex: (.*)target_label: clusterreplacement: testaction: replace
metric_relabel_configs的relabel如下:
metric_relabel_configs:- source_labels: [image]regex: '.*/(.*)'replacement: '$1'target_label: id- source_labels: [service]regex: 'ecs-.*:ecs-([a-z]+-*[a-z]*).*:[0-9]+'replacement: '$1'target_label: service
看着很相似,但relabel_configs是针对target指标采集前和采集中的筛选,而metric_relabel_configs是针对指标采集后的筛选。
譬如relabel_configs drop动作,
relabel_configs:- source_labels: [__meta_ec2_tag_Name]regex: Example.*action: drop
那么将不会收集这个指标。而metric_relabel_configs使用的时候指标已经采集过了
metric_relabel_configs:- source_labels: [__name__]regex: '(container_tasks_state|container_memory_failures_total)'action: drop
所以metric_relabel_configs相对来说,更加昂贵,毕竟指标已经采集了。
metric_relabel_configs还可以不用指定source_labels
metric_relabel_configs:- regex: 'container_label_com_amazonaws_ecs_task_arn'action: labeldrop
这篇关于promethus 的 relabel_configs 和 metric_relabel_configs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!