【问题标题】:Ingesting multiple timestamps of the same metric?摄取同一指标的多个时间戳?
【发布时间】:2023-03-18 01:02:01
【问题描述】:

我将数据存储在 SQL 数据库中,我想将其复制到 prometheus 中,以使其在处理时间序列数据方面具有更好的能力。

但是,我仍然想知道将这些数据公开给 prometheus 的最佳方法是什么。

我尝试的是公开这样的文档:

# TYPE energy_amount_watt_hours counter
energy_amount_watt_hours{meter="A",type="generator"} 8275866 1529787904
energy_amount_watt_hours{meter="B",type="grid_import"} 681113 1529787903
energy_amount_watt_hours{meter="C",type="generator"} 4201804 1529787903
energy_amount_watt_hours{meter="D",type="grid_import"} 6209100 1529787612
energy_amount_watt_hours{meter="E",type="grid_export"} 9554800 1529787612
energy_amount_watt_hours{meter="A",type="generator"} 8275866 1529787606
energy_amount_watt_hours{meter="C",type="generator"} 4201804 1529787605
energy_amount_watt_hours{meter="F",type="grid_import"} 1216300 1529787602
energy_amount_watt_hours{meter="B",type="grid_import"} 681093 1529787602
energy_amount_watt_hours{meter="A",type="generator"} 8275866 1529787305
energy_amount_watt_hours{meter="C",type="generator"} 4201804 1529787304
energy_amount_watt_hours{meter="B",type="grid_import"} 681073 1529787303
energy_amount_watt_hours{meter="A",type="generator"} 8275866 1529787004

所以基本上为每个指标公开多个值,但时间戳不同。但是,这对我来说失败了,并且出现了超出范围的错误(这很烦人)。阅读文档我看到:

每一行都必须具有唯一的度量名称和标签组合。否则,摄取行为未定义。

所以这可能就是我收到这些意外错误的原因。

问题仍然存在:如何将源自 SQL 存储的数据存储在 prometheus 中。特别是:

  • 现在不是采样时间
  • 每个指标/标签组合可能有多个样本

【问题讨论】:

    标签: prometheus


    【解决方案1】:

    Prometheus 的聚合模型似乎不支持这一点。它只是摄取从抓取中接收到的任何内容,并添加抓取发生瞬间的时间戳。

    我没有意识到这一点,并且在直方图上遇到了一些奇怪的行为,期望我添加到客户端库中直方图对象的每个数据点都会附加该事件的时间戳,然后抓取器只是抓取所有这些数据点,保留它们的时间戳。不是这样。

    在刮擦发生的确切时刻将刮擦视为系统的测量或样本。

    【讨论】:

      猜你喜欢
      • 2018-02-17
      • 1970-01-01
      • 2022-12-09
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2019-02-21
      • 2018-05-04
      • 2021-06-12
      相关资源
      最近更新 更多