前言

本文来自Prometheus官网手册 和 Prometheus简介

FEDERATION 允许Prometheus服务器从另一台Prometheus服务器抓取选定的时间序列。

一,用例

联盟有不同的用例。通常,它用于实现可扩展的Prometheus监控设置或将相关指标从一个服务的Prometheus拉到另一个服务。

1.1 分层联盟

分层联盟使Prometheus可以扩展到具有数十个数据中心和数百万个节点的环境。在此用例中,联合拓扑就像一棵树,更高级别的Prometheus服务器从大量从属服务器收集聚合的时间序列数据。

例如,设置可能包含许多高度详细收集数据的每个数据中心Prometheus服务器(实例级深入分析),以及一组仅收集和存储聚合数据的全局Prometheus服务器(作业级向下钻取) )来自那些本地服务器。 这提供了聚合全局视图和详细的本地视图。

1.2 跨服务联盟

在跨服务联盟中,将一项服务的Prometheus服务器配置为从另一项服务的Prometheus服务器抓取所选数据,以针对单个服务器内的两个数据集启用警报和查询。

例如,运行多个服务的集群调度程序可能会公开有关集群上运行的服务实例的资源使用情况信息(例如内存和CPU使用情况)。另一方面,在该群集上运行的服务将仅公开特定于应用程序的服务指标。通常,这两组指标是由单独的Prometheus服务器抓取的。使用联盟,包含服务级别指标的Prometheus服务器可以从群集Prometheus中获取有关其特定服务的群集资源使用指标,以便可以在该服务器中使用这两组指标。

二、联邦配置

在任何给定的Prometheus服务器上,/federate端点允许检索该服务器中所选时间序列集的当前值。 必须至少指定一个match[] URL参数才能选择要公开的时间序列。 每个match[]参数都需要指定一个瞬时向量选择器,如up{job="api-server"}。 如果提供了多个match[]参数,则选择所有匹配系列的并集。

要将指标从一个服务器联合到另一个服务器,请将目标Prometheus服务器配置为从源服务器的/federate端点进行采集,同时还启用honor_labels scrape选项(以不覆盖源服务器公开的任何标签)并传入所需的 match[]参数。

例如,以下scrape_config将任何带有标签job="prometheus"的系列或以job开头的度量标准名称联合起来:source-prometheus-{1,2,3}:9090的Prometheus服务器进入抓取Prometheus:

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'

三、迁移指南

PROMETHEUS 2.0迁移指南Prometheus简介

Prometheus学习系列(九)之Prometheus 联盟、迁移的更多相关文章

  1. prometheus学习系列九: Prometheus AlertManager使用

    在Prometheus的报警系统中,是分为2个部分的, 规则是配置是在prometheus中的, prometheus组件完成报警推送给alertmanager的, alertmanager然后管理这 ...

  2. prometheus学习系列十一: Prometheus和AlertManager的高可用

    前面的系列中, prometheus和alertmanager都是单机部署的,会有单机宕机导致系统不可用情况发生.本文主要介绍下prometheus和alertmanager的高可用方案. 服务的高可 ...

  3. prometheus学习系列十一: Prometheus 安全

    prometheus安全 我们这里说的安全主要是基本认证和https2种, 目前这2种安全在prometheus中都没有的, 需要借助第三方软件实现, 这里以nginx为例. 基本认证 配置基本认证 ...

  4. prometheus学习系列十一: Prometheus pushgateway的使用

    由于网络问题或者安全问题,可能我们的数据无法直接暴露出一个entrypoint 给prometheus采集. 这个时候可能就需要一个pushgateway来作为中间者完成中转工作.  promethe ...

  5. prometheus学习系列五: Prometheus配置文件

    在prometheus监控系统,prometheus的职责是采集,查询和存储和推送报警到alertmanager.本文主要介绍下prometheus的配置文件. 全局配置文件简介 默认配置文件 [ro ...

  6. prometheus学习系列十一: Prometheus exporter详解

    exporter详解 前面的系列中,我们在主机上面安装了node_exporter程序,该程序对外暴露一个用于获取当前监控样本数据的http的访问地址, 这个的一个程序成为exporter,Expor ...

  7. prometheus学习系列十一: Prometheus 采集器的编写

    在前面的文章已经写了官方的几个exporter的使用了. 在实际使用环境中,我们可能需要收集一些自定义的数据, 这个时候我们一般是需要自己编写采集器的. 快速入门编写一个入门的demo 编写代码 fr ...

  8. prometheus学习系列十一: Prometheus 报警规则配置

    prometheus监控系统的的报警规则是在prometheus这个组件完成配置的. prometheus支持2种类型的规则,记录规则和报警规则, 记录规则主要是为了简写报警规则和提高规则复用的, 报 ...

  9. prometheus学习系列十: Prometheus AlertManager配置文件说明

    alertmanager配置文件说明 alertmanager是通过命令行标记和配置文件配置的,命令行标记配置不可变的系统参数,配置文件定义抑制规则.通知路由和通知接收器.可以通过官方提供的routi ...

  10. prometheus学习系列八: Prometheus Grafana展示平台

    在prometheus中,我们可以使用web页面进行数据的查询和展示, 不过展示效果不太理想,这里使用一款专业的展示平台进行展示. grafana安装 # 下载wget https://dl.graf ...

随机推荐

  1. ant 自动化构建环境。

    ant  一个自动化构建的工具 可以帮你实现自动化打包和发布到web环境上. 项目目录如下: 项目一:common-framework 项目二:estun-platform-web 其中项目一是项目二 ...

  2. SpringBoot源码学习系列之嵌入式Servlet容器

    目录 1.博客前言简单介绍 2.定制servlet容器 3.变换servlet容器 4.servlet容器启动原理 SpringBoot源码学习系列之嵌入式Servlet容器启动原理 @ 1.博客前言 ...

  3. lodash.memoize

    目录 _.memoize(func, [resolver]) 举例1: 获取J(1000000)的值 举例2: 斐波那契数列F(1000)的值 _.memoize(func, [resolver]) ...

  4. Evevt Loop 事件循环

    目录 JavaScript 是一门单线程的语言 一.什么是event Loop的执行机制 练习 异步任务-setTimeout 练习1: 练习2: 练习3: 练习4: 二 事件队列作用 同步任务 例1 ...

  5. Ubuntu1604环境下编译安装mariadb10.2.26

    环境准备:阿里云ecs Ubuntu1604下,编译安装mariadb10-2.26 1.先安装一些初试环境所需要的工具软件包 apt install -y iproute2 ntpdate tcpd ...

  6. 线段树+lazy标记 2019年8月10日计蒜客联盟周赛 C.小A的题

    题目链接:https://nanti.jisuanke.com/t/40852 题意:给定一个01串s,进行m次操作,|s|<=1e6,m<=5e5 操作有两种 l r 0,区间[l,r] ...

  7. eclipse Outline里图标的含义

    source: http://www.cnblogs.com/qdwyg2013/p/6489019.html 先说颜色: 绿色:public 黄色:protected 蓝色:no modifier ...

  8. AQS系列(四)- ReentrantReadWriteLock读写锁的释放锁

    前言 继续JUC包中ReentrantReadWriteLock的学习,今天学习释放锁. 一.写锁释放锁 入口方法 public void unlock() { sync.release(1); } ...

  9. 《Java基础知识》Java标示符、保留字和数制

    一.Java标识符程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划 ...

  10. 服务器端Mysql常用操作

    原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/f7463513-5 ...