2017-01-22 35 views
1

collectdから毎分ネットワークから入ってきて、流入データベースに入力されているデータがあります。ネットワークを経由して1分で右に来ることはなく、ジッタがあります。Influxdb - 時間別グループ(1m) - 欠損データ

この不規則なデータを1分間隔で調整しようとしていますが、いくつかのギャップが見えています。 。

> precision rfc3339 
> 
> select value from snmp_ecio where host = 'my_host_a' and time > now() - 10m 
name: snmp_ecio 
time       value 
----       ----- 
2017-01-22T00:25:59.987735Z  -0.1 
2017-01-22T00:27:00.003208Z  -0.1 
2017-01-22T00:28:00.047265Z  -0.2 
2017-01-22T00:29:00.142676Z  -0.1 
2017-01-22T00:30:00.048707Z  -0.3 
2017-01-22T00:31:00.211728Z  -0.1 
2017-01-22T00:31:59.980621Z  -0.1 
2017-01-22T00:32:59.795329Z  -0.1 
2017-01-22T00:34:03.206552Z  -0.1 
2017-01-22T00:35:00.01463Z  -0.1 

> select mean(value) from snmp_ecio where host = 'my_host_a' and time > now() - 10m group by time(1m) 
name: snmp_ecio 
time     mean 
----     ---- 
2017-01-22T00:25:00Z -0.1 
2017-01-22T00:26:00Z 
2017-01-22T00:27:00Z -0.1 
2017-01-22T00:28:00Z -0.2 
2017-01-22T00:29:00Z -0.1 
2017-01-22T00:30:00Z -0.3 
2017-01-22T00:31:00Z -0.1 
2017-01-22T00:32:00Z -0.1 
2017-01-22T00:33:00Z 
2017-01-22T00:34:00Z -0.1 
2017-01-22T00:35:00Z -0.1 

誰でもこの問題を経験しましたか、正しい方向で私を指摘できますか?

ありがとうございます!

+0

データをより頻繁に(毎秒または10秒ごとに)収集できるため、時間間隔で合計することができますか? – Derecho

+0

私はそれを避けたいのですが、トラフィックの量とスケーリングの問題、最も大きな理由は、私がデバイスへの管理を私に示しているので、null値が表示されたかったからです。利用可能なメトリックを収集できます。 'time($ interval)、offset、heartbeat)で整理する'と言うことができます。時間は私のポーリング間隔、オフセットは時間から、ハートビートは+/-となるでしょう。ヌル値でその間隔を無効にするまでの時間。これはRRDtoolが私が移行しようとしていることです。 – matak

答えて

1

時間間隔が不足している場合は、fillオペレータを使用してください。使用しているバージョンに応じて、さまざまなオプションが用意されています。 1.1以上を使用している場合は、fill(linear)を使用します。fill(previous)を選択します。

SELECT mean(value) 
FROM snmp_ecio 
WHERE host = 'my_host_a' AND time > now() - 10m 
GROUP BY time(1m) fill(linear) 
+0

マイケルに感謝します。私は、ポーリング間隔を逃したグラフを見て、そして/またはヌル値の数を数えて、どれくらいのポーリング間隔がx時間に逃したのかを知ることで、1分の欠損値をヌルで埋めるようにします。私がしようとしているのは、〜3秒以内にその時間間隔の外側に何かをマークするならば、私の時間間隔を最も近い時間に丸めることです。これはRRDtoolが私にしてくれたものでした。ステップサイズ(ポーリング間隔)とハートビート(ポーリング間隔を無効にするまでの時間)を選択できました。 – matak

関連する問題