「Prometheus」- Federation(=> PROMETHEUS/Federation)

联邦,目的是协作,允许 Promethus 从其他 Promethues 爬取数据。

应用场景

联邦具有多个应用场景。常见的通常是 实现可扩展的监控系统 或 从其他 Prom 中获取指标;

分级联邦

以树形结构存在,最高层的 Prom 从其他从属的 Prom 中获取指标数据,并进行聚合。

跨服务联邦

一个服务的 Prometheus 服务器被配置为从另一个服务的 Prometheus 服务器中抓取选定的数据,以启用对单个服务器中的两个数据集的警报和查询。

比如某个 Prom 抓取系统及指标,某个 Prom 抓取应用级指标。后者可能需要了解系统相关的指标,那它则可以从前者抓取相关指标。

配置案例

针对数据源服务器:
1)/federate,为抓取的接口;
2)match[],为过滤参数;

针对目的服务器:
1)抓取远端 /federate 接口;
2)honor_labels,避免原始标签被覆盖;

如下简单示例:

scrape_configs:
  - job_name: 'federate'
    scrape_interval: 15s

    honor_labels: true
    metrics_path: '/federate'

    params:
      'match[]':
        - '{job="prometheus"}'
        - '{__name__=~"job:.*"}'

    static_configs:
      - targets:
        - 'source-prometheus-1:9090'
        - 'source-prometheus-2:9090'
        - 'source-prometheus-3:9090'