当前位置: 首页 > 知识库问答 >
问题:

对于普罗米修斯来说,高标签基数但低度量/标签计数和不频繁的采样是可接受的用例吗?

耿珂
2023-03-14

我有一个监控用例,我不完全确定它是否适合普罗米修斯,我想在深入研究之前征求意见。

我要存储的内容的数字:

只有1米。该指标有1个标签,其中有1,000,000到2,000,000个不同值。这些值是量规(但如果它们是计数器,会有什么不同吗?)采样率为每5分钟一次。保留数据180天。

如果我有100万个不同的标签值,估计存储大小:

(根据普罗米修斯文档中的公式:retention_time_seconds*ingested_samples_per_second*bytes_per_sample)

(24*60)/5=288 5-minute intervals in a day.

(180*288)           * (1,000,000)       * 2 = 103,680,000,000 ~= 100GB
samples/label-value   label-value-count   bytes/sample

所以我假设需要100-200GB。

>

  • 这个估计正确吗?

    我在多个地方读到关于避免高基数标签的文章,我想问一下这个问题。考虑到我将一次看一个时间序列,高基数标签的问题是什么?或者有大量的时间序列?因为每个标签值产生另一个时间序列?我还在多个地方读到,普罗米修斯可以同时处理数百万个时间序列,所以即使我有一个标签,有一百万个不同的值,就时间序列计数而言,我应该没有问题,在这种情况下,我需要担心标签有高基数吗?我知道这取决于服务器的强度,但假设平均容量,我想知道普罗米修斯的实现是否有问题有效地处理这种情况。

    而且,如果这是一个时间序列计数的问题,我假设它不会在以下选项之间产生显著差异,这是正确的吗?

    1. 1个度量值,其中1个标签为1,000,000个不同标签值。
    2. 10个指标,每个指标有一个标签,每个标签有100,000个不同的标签值。
    3. x个度量,每个度量具有Y个不同标签值的1个标签。其中X*Y=1,000,000

    谢谢你的帮助!

  • 暂时还没有答案

     类似资料:
    • 如何在普罗米修斯查询中添加标签过滤器? KUBE_POD_INFO -->按命名空间测试筛选pod。 在这里,我想包括基于标签的过滤器以及。我在kube_pod_labels中有一个名为“label_source=”k8s“的标签。如何加入kube_pod_info和kube_pod_labels来应用标签筛选器?

    • 我有以下计数器指标 如何计算最近2分钟内活动设备的数量,即2(设备id 3和4)?

    • 我正在考虑向普罗米修斯输出一些度量标准,我对我计划做什么感到紧张。 我正在看一些标签值在低数千(1,000到10,000)。如果度量的数量不会非常大,那么这是普罗米修斯的适当用法吗?还是我应该将自己限制在更通用的度量上,比如单个聚合的步骤持续时间,而不是每个步骤的单独持续时间?

    • 我正在将Spring Boot应用程序从Spring Boot 1(使用Prometheus Simpleclient)转换为Spring Boot 2(使用微米)。 我很难将我们在《春靴1》和《普罗米修斯》中的标签转换为千分尺的概念。例如(普罗米修斯): Micrometer的标签似乎与Prometheus的标签有些不同:所有的值都必须预先声明,不仅仅是键。 可以将普罗米修斯的标签与Spring

    • 我试图解决一个问题,使总和和组查询普罗米修斯上的一个指标,其中的标签分配给度量值唯一的我的总和和和组的要求。 我有一个ElasticSearch索引的指标采样大小,其中索引名称被标记在指标上。索引是这样命名的,并放置在标签"index"中:

    • 我有一个系统,作为第三方的API。我需要观察每个第三方的响应时间。但正如普罗米修斯在其文档中所定义的: 请记住,键值标签对的每一个唯一组合都表示一个新的时间序列,这会显著增加存储的数据量。不要使用标签存储基数高的维度(许多不同的标签值),如用户ID、电子邮件地址或其他无界值集。 http_3rdParty1_requests_total http_3rdParty2_requests_total.