标签基数高但度量/标签计数低且采样不频繁是否是普罗米修斯可接受的用例?

时间:2018-12-13 03:19:36

标签: monitoring prometheus

我有一个监视用例,我不确定它是否很好 是否适合普罗米修斯,我想在钻研之前征求意见 更深。

我要存储的数量:

仅1个指标。 该指标具有1个标签,具有1,000,000至2,000,000个不同的值。 值是标尺(但如果是计数器,会有所不同吗?) 采样率是每5分钟一次。保留数据180天。

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

(根据Prometheus文档中的公式: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. 此估计正确吗?

  2. 我在很多地方读过避免高基数标签,我会 想问这个。 考虑到我一次要查看一个时间序列,高基数标签是否存在问题?要么 有大量的时间序列?由于每个标签值都会产生另一个 时间序列?我还在Prometheus可以处理的多个地方阅读过 一次有数百万个时间序列,即使我有1个标签有1百万个 不同的值,在时间序列计数方面我应该没问题,我是否必须 担心标签在这种情况下具有高基数?我知道 这取决于服务器的强度,但假设平均容量,我 想知道Prometheus的实现在处理此问题时是否存在问题 案例有效。

  3. 而且,如果这是时间序列的问题,我是否正确假设 在以下两者之间不会产生重大差异 选项?

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

请注意,Victoria Metrics 是一个易于配置的 Prometheus 后端,可显着降低存储需求。

答案 1 :(得分:0)

这可能有用,但是Prometheus并不是为它设计的,因此您可能会遇到问题。您可能需要数据库而不是监视系统,也许在这里是Cassandra。

基数如何跨指标划分不会影响接收性能,但是必须在查询中读取1M系列数据相对较慢。