Prometheus 普罗米修斯使用服务发现的过度请求

Prometheus 普罗米修斯使用服务发现的过度请求,prometheus,Prometheus,我正在为托管在Digital Ocean上的服务器使用服务发现。我经常在运行Prometheus时遇到数字海洋速率限制,因为Prometheus似乎会为每个作业调用API。有没有办法告诉它只需向数字海洋打一次电话,并将结果用于所有工作 scrape_configs: - job_name: 'a1-nodes' digitalocean_sd_configs: - bearer_token: 'MY_TOKEN' port: 26661 - b

我正在为托管在Digital Ocean上的服务器使用服务发现。我经常在运行Prometheus时遇到数字海洋速率限制,因为Prometheus似乎会为每个作业调用API。有没有办法告诉它只需向数字海洋打一次电话,并将结果用于所有工作

scrape_configs:
  - job_name: 'a1-nodes'
    digitalocean_sd_configs:
      - bearer_token: 'MY_TOKEN'
        port: 26661
      - bearer_token: 'MY_TOKEN'
        port: 9090
    relabel_configs:
      - source_labels: [__meta_digitalocean_tags]
        regex: .*,prometheus,.*
        action: keep
      - source_labels: [__meta_digitalocean_tags]
        regex: .*,a1_node,.*
        action: keep        
  - job_name: 'a2-nodes'
    digitalocean_sd_configs:
      - bearer_token: 'MY_TOKEN'
        port: 26661
      - bearer_token: 'MY_TOKEN'
        port: 9090
    relabel_configs:
      - source_labels: [__meta_digitalocean_tags]
        regex: .*,prometheus,.*
        action: keep
      - source_labels: [__meta_digitalocean_tags]
        regex: .*,a2_node,.*
        action: keep

在封面下,普罗米修斯将合并SD配置,如果它们完全相同,那么这里有两个SD配置,因为端口不同。要将其减少到一个,您需要将内容分成四个作业,并在重新标记中添加端口号


还有一个
refresh\u interval
设置。

您是否可以将两个作业与[12]\u节点.*
regex:.*合并为一个作业?即使你把这些作为单独的标签,但把它们放在一个单一的工作,你会减少一半的电话。IIUC,这是你减少呼叫的唯一方法。@DazWilkin,那没有效果,普罗米修斯已经在幕后做了。尽管从总体上看,这通常是个好主意。