我有两个不同的prometheus服务器(包括alertmanager、pushgateway、nodeExporter和kube-state-metrics)
当我端口转发这两个服务器中的任何一个时,在它们各自的/目标中-我找到以下job_name的组合详细信息:
- kubernetes-nodes(20/20 up)
- kubernetes-nodes-cadvisor(20/20 up)
- kubernetes-pod(90/90 up)
- kubernetes-service-endpoints(78/78 up)
- prometheus-pushgateway(2/2 up)
- Prometheus(1/1 up)
- kubernetes-apiservers(1/1 up)
我的values.yaml文件(两个服务器不同)包含以下部分-
prometheus:
serverFiles:
prometheus.yml:
rule_files:
- /etc/config/recording_rules.yml
- /etc/hcp/config/alerting_rules.yml
scrape_configs:
- job_name: prometheus
static_configs:
- targets:
- localhost:9090 #exposing metrics
我想确保对于prometheus-server-1应该只抓取与它相关的详细信息,prometheus-server-2也是如此,并且尽管有与prometheus相同的默认端口,但在它们的/targets中只有它们的详细信息。
1条答案
按热度按时间c9x0cxw01#
在浏览了所有的prometheus文档并尝试了不同的方法后,我终于能够让prometheus服务器只抓取与之相关的数据,从而回答了我自己的问题。
这可以通过在上面共享的values.yaml文件下的相应作业中添加relabel_bytes条件来实现。
job_name示例:prometheus-pushgateway:
**注意:scrape_tags会覆盖所有默认的scrape_tags,所以请在添加特定条件时包含所有默认语句。
有关更多信息,以下链接可能会有所帮助: