Prometheus 教程

Prometheus 持久化-远程存储

Prometheus 的本地存储仅限于单个节点的可扩展性和可靠性。Prometheus 提供了一系列接口,允许与远程存储系统集成,而不是试图在 Prometheus 本身解决集群存储问题。

远程存储概述

Prometheus 可通过三种方式与远程存储系统集成:

  • Prometheus 可以将采集到的样本以标准格式写入远程 URL。

  • Prometheus 可以从其他 Prometheus 服务器接收标准格式的样本。

  • Prometheus 可以从远程 URL 读取(返回)标准化格式的样本数据。

持久化-远程存储

读写协议都通过 HTTP 使用快速压缩协议缓冲区编码,这些协议尚未被视为稳定的 API,将来可能会改为通过 HTTP/2 使用 gRPC,届时 Prometheus 和远程存储之间的所有跳转都可以安全地假定为支持 HTTP/2。

可通过设置 --web.enable-remote-write-receiver 命令行标志启用内置远程写接收器。启用后,远程写接收器地址为 /api/v1/write。

请注意,在读取路径上,Prometheus 只从远端获取一组标签选择器和时间范围的原始序列数据。对原始数据的所有 PromQL 评估仍在 Prometheus 本身进行。这意味着远程读取查询有一定的可扩展性限制,因为所有必要的数据都需要先加载到查询的 Prometheus 服务器中,然后在 Prometheus 服务器中进行处理。如下图:

持久化-远程存储

不过,支持完全分布式的 PromQL 评估(即在远程服务中执行 PromQL,然后将执行结果返回到 Prometheus 服务,Prometheus 服务汇总结果输出给用户)暂时不支持。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号