联邦,目的是协作,允许 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'