prometheus 中文文档
v2.18
v2.18
  • Prometheus 中文文档
  • introduction
    • 概述
    • 初识 Prometheus
    • 与替代品比较
    • 常见问题
    • 路线图
    • 相关资源
    • 相关术语
  • concepts
    • 数据模型
    • 数据指标类型
    • 作业和实例
  • prometheus
    • 快速开始
    • 安装
    • 配置
      • 配置
      • 定义记录规则
      • 告警规则
      • 模板示例
      • 模板参考
      • 规则的单元测试
    • 查询
      • Prometheus 查询
      • 运算符
      • 函数
      • 查询示例
      • HTTP API
    • 存储
    • 联合
    • 管理 API
    • Prometheus 2.0 迁移指南
    • API 稳定性保证
  • visualization
    • 表达式浏览器
    • Grafana 对 Prometheus 的支持
    • 控制台模板
  • operating
    • 安全模型
    • 集成
  • instrumenting
    • 客户端库
    • 编写客户端库
    • 推送数据指标
    • 数据导出及相关集成
    • 编写数据导出器
    • 公开的格式
  • alerting
    • 告警概述
    • Alertmanager
    • 配置
    • 发送告警
    • 通知模板参考
    • 通知模板示例
    • 管理 API
  • practices
    • 指标和标签命名
    • 控制台和仪表盘
    • 工具
    • Histogram and Summary
    • 告警
    • 记录规则
    • 什么时候使用 Pushgateway
    • 远程写调试
  • guides
    • 使用 cAdvisor 监控 docker 容器数据指标
    • 使用基于文件的服务发现来发现数据采集目标
    • 实现一个 Go 应用
    • 使用 Node Exporter 监控 Linux 主机指标
    • 使用基本身份验证保护 Prometheus API 和 UI 端点
    • 理解并使用 multi-target exporters 模式
    • 使用 TLS 加密 Prometheus API 和 UI 端点
    • 使用 Prometheus 查询日志
由 GitBook 提供支持
在本页
  • 用例
  • 分层的联合
  • 跨服务的联合
  • 配置联合

这有帮助吗?

  1. prometheus

联合

上一页存储下一页管理 API

最后更新于5年前

这有帮助吗?

联合允许 Prometheus 服务从另一台 Prometheus 服务采集指定的时间序列。

用例

下面有不同的联合用例。通常,它用于实现可扩展的 Prometheus 监控设置或将相关数据指标从一个 Prometheus 服务引入到另一项服务。

分层的联合

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

例如,一种架构可能由每个数据中心的 Prometheus 服务收集详细信息的数据(向下展开为实例级别),以及一组全局 Prometheus 服务,它们仅从这些本地服务收集和存储聚合数据(向下展开为作业级别)。这提供了全局汇总视图和局部详细视图。

跨服务的联合

在跨服务联合中,一个 Prometheus 服务配置为从另一个 Prometheus 服务中提取所选数据,以便对单个服务中的两个数据集启用警报和查询。

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

配置联合

在 Prometheus 服务上,任何/federate端点都可以为该服务器中选定的时间序列检索当前值。必须至少指定一个match[] URL 参数以选择要暴露的序列。每个match[]参数都需要指定一个如up或{job="api-server"}的。如果指定多个match[]参数,则将选择所有匹配序列的并集。

要将数据指标从一台服务联合到另一台服务器,请将目标P rometheus 服务配置为从源服务的/federate端点进行采集,同时还启用honor_labels采集选项(不覆盖源服务器暴露的任何标签)并传递所需的match[]参数。例如,以下scrape_configs将带有标签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'
即时向量选择器