我将数据存储在SQL数据库中,我希望将其复制到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中。特别是:
答案 0 :(得分:0)
Prometheus的聚合模型似乎不支持此功能。它只是吸收从刮擦中收到的所有内容,并添加刮擦发生瞬间的时间戳。
我没有意识到这一点,并且在直方图中遇到了一些奇怪的行为,希望我添加到客户端库中直方图对象的每个数据点都附有该事件的时间戳,然后抓取器只是抓取所有这些数据点,保留其时间戳。不是这样
在刮擦发生的确切时刻,将刮擦视为系统的测量值或样本。