我有2项测量数据如下:
metrics,app=app1 cpu=10 1654150510
metrics,app=app1 cpu=12 1654150512
metrics,app=app1 cpu=13 1654150514
metrics,app=app1 cpu=14 1654150516
metrics,app=app1 cpu=15 1654150519“度量”测量的频率约为2/3秒。第二个是:
http_requests,app=app1 response_time=12 1654150509
http_requests,app=app1 response_time=11 1654150510
http_requests,app=app1 response_time=15 1654150511
http_requests,app=app1 response_time=14 1654150512
http_requests,app=app1 response_time=13 1654150513
http_requests,app=app1 response_time=10 1654150514
http_requests,app=app1 response_time=12 1654150515
http_requests,app=app1 response_time=11 1654150516
http_requests,app=app1 response_time=13 1654150517
http_requests,app=app1 response_time=12 1654150518http_requests的频率约为1秒。
我想将这两个指标合并到一个表中。
_time,value_cpu,value_response_time
1654150509,10,12
1654150510,10,11
1654150511,12,15由于时间戳可能是不同的,是否有办法将它们结合在一起?fill就是这条路。我不确定timeshift是否会在这里有所帮助。虽然我没有完全理解它。我假设需要某种类型的下采样(在不断变化的情况下,不确定如何做到这一点)。有没有办法根据最近的时间差来计算测量值?伊..。如果response测量是在时间上出现的
1654150510,app=app1 response_time=10
1654150513,app=app1 response_time=12
1654150514,app=app1 response_time=11
1654150516,app=app1 response_time=13中央处理器来了
1654150512,app=app1 cpu=20
1654150515,app=app1 cpu=30那么结果表是
_time,response_time,cpu
1654150510,10,
1654150513,12,20
1654150514,11,
1654150516,13,30CPU值与最近的时间戳(+/-差分)结合到一起,如何在进水数据库中的flux中实现这一点?
发布于 2022-06-02 14:18:50
我想aggregateWindow和fill的低采样可能会奏效。
另一种方法是枢轴,然后使用以前的值填充缺失的值。至少从性能的角度来看,这样做的好处是,当在给定的时间内都没有记录时,就不会创建包含以前值的新行。
使用
from(bucket: "stackx")
|> range(start: -1d)
|> filter(fn: (r) => r._measurement == "metrics" or r._measurement == "http_requests")
|> drop(columns: ["_measurement"]) // or remove from group other way
|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
|> sort(columns: ["_time"], desc: false)
|> fill(column: "cpu", usePrevious: true)
|> fill(column: "response_time", usePrevious: true)结果将是
_time,app,cpu,response_time
2022-06-02T06:15:09Z,app1,,12
2022-06-02T06:15:10Z,app1,10,11
2022-06-02T06:15:11Z,app1,10,15
2022-06-02T06:15:12Z,app1,12,14
2022-06-02T06:15:13Z,app1,12,13
2022-06-02T06:15:14Z,app1,13,10
2022-06-02T06:15:15Z,app1,13,12
2022-06-02T06:15:16Z,app1,14,11
2022-06-02T06:15:17Z,app1,14,13
2022-06-02T06:15:18Z,app1,14,12
2022-06-02T06:15:19Z,app1,15,12https://stackoverflow.com/questions/72473642
复制相似问题