1)在kubernetes中,许多组件(即节点)都有要按组查看的元数据。实例:不同kuberentes组件的分片度量标准有哪些常见选项?
- 显示器CPU使用率
- 显示器CPU使用率与GPU的所有机器
- 显示器存储器使用
- 上标记有AA特定区域中的所有机器(kubelets)显示器存储器使用(即 'ASIA-EAST-1')
等等:对于正被一个节点上测量的任何指标,您可能希望通过存在于所述节点上的任意标签或污点来查看/查询它。
在任何这些情况下,由于指标与标签所有这些数据的发射。
一个解决方案:许多普罗米修斯大师
到目前为止,我认为一个解决办法:单独普罗米修斯主为节点的不同逻辑组。这将允许管理员创建,通过一个任意标签汇总指标主人,即
- 查询集群的所有节点W /标签= SSD = 16GB,
- 从该列表中创建一个CSV,
- 使用它作为端点的普罗米修斯主,
- 使用,作为一个特定的数据源”。
2)是否有解决这个问题的任何更优雅的解决方案?
上述解决方案是frought恐怖的 - 你正在做大量的工作只是“黑客”的grafana“数据源”的概念,以此来分片的指标了。
3)数越多,疯狂的想法......只是为了帮助种子如何在由主机kubernetes分片指标更广泛的对话......
- 也许grafana是足够聪明,加上自己的组, 不知何故?
- 或者grafana可以扩展到prometheus master polling/rollup本身吗?
我真的不明白这个问题,但多台普罗米修斯机器听起来不像一个好的,可扩展的答案。你说'因为指标不是与这些元数据一起发布的 - 我不确定这是为什么。我们使用Telegraf(在Docker中)来发布我们的指标。它会发出我们告诉发出的任何东西,所以我认为你可以用kubelets做到这一点。 但有一点需要记住,一些指标在容器中是没有意义的,比如CPU使用率,因为它是一个主机级别的指标而不是容器级别的指标。 – FuzzyAmi
它是一个简单的问题,希望按节点属性对查询进行分组。一种选择是将所有节点标签和污点与每个节点级度量一起导出,但这可能是数据成本高昂的。另一种选择是让服务器从不同的主机中获取数据 - 这与复杂性成本较高有关。 – jayunit100
谢谢!我明白你在说什么。但这真的是一个问题吗?真的有这么多的节点级度量吗?我认为可能有很多主机级度量标准(对该主机上的所有节点都是通用的),但大多数情况下,节点级度量标准完全来自您正在运行的应用程序 - 这些度量标准的数量可能有限(至少在我的经验中)。 – FuzzyAmi