监控

普罗米修斯联邦

2018-05-03  本文已影响156人  show16

联邦允许一个普罗米修斯服务从其它的普罗米修斯服务中抓取时序数据。

使用场景

关于联邦这儿有好几种场景。通常,联邦是为了实现可扩展的普罗米修斯监控设置。或者为了从一个服务的普罗米修斯中拉取相关的metrics到另一个普罗米修斯中。

分层联邦

分层联邦允许普罗米修斯去扩展到拥有十几个数据中心和百万个节点。在这个场景下,联邦拓扑结构像一颗树。更高层级的普罗米修斯服务从一大批下级普罗米修斯服务中采集聚合的时间序列数据。

例如一个组织可能由许多单数据中心的普罗米修斯组成,这些普罗米修斯服务采集细粒度(实例级别)的数据。还有一些全局普罗米修斯服务只采集和存储来自于细粒度普罗米修斯的聚合数据(任务级别)。这样就提供了详细的本地视角,和聚合的全局视角。

跨服务联邦

在跨服务联邦中,一个服务的一个普罗米修斯被配置去抓取其它服务的普罗米修斯服务的数据,以去启用报警和查询而不是这些数据都设置在一个服务中。

例如,一个运行了许多服务的集群调度器,可能需要暴露集群中运行的服务实例的资源利用信息(例如内存和CPU使用)。另一方面,运行在这个集群上的一个服务需要只暴露应用程序级别的服务指标。通常,这2种指标被不同的普罗米修斯服务抓取。利用联邦,包含服务级别指标的普罗米修斯服务可能从集群普罗米修斯中拉取集群中特定服务的资源使用情况的指标。因此这些指标都可以在服务中被使用。

配置联邦

在任何普罗米修斯服务中,/federate节点都允许获取服务中被选中的时间序列的值。至少有一个 match[] URL变量需要被定义去选择暴露的序列。每一个match[]参数都需要去定义一个不变的维度选择器像 up 或者{job="api-server"}。如果有许多match[]变量,那么所有符合的时序数据的集合就被选择了。从一个普罗米修斯服务联邦指标到另一个普罗米修斯服务,配置你的目标普罗米修斯服务从源服务的/federate节点去抓取数据。同时也启用 honor_lables 抓取选项(不重写任何源普罗米修斯的标签),也设置match[]参数。例如,下面的 scrape_config联邦任何拥有 job="prometheus" 标签或者指标名称以 job:开始的时序数据。被联邦的源普罗米修斯服务列表是 source-prometheus-{1,2,3}:9090

翻译自官方文档  https://prometheus.io/docs/prometheus/latest/federation/

上一篇下一篇

猜你喜欢

热点阅读