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 服务汇总结果输出给用户)暂时不支持。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号