1

InfluxDB 0.8.8 に入るオブジェクト ストアからバイト カウンターを読み書きしました (0.9 の実用的な答えを喜んで受け取ります。アップグレードする前に別のストレージ エンジンを待っているだけです)。

データはサーバーごと、およびデバイスごとに収集されるため、たとえば、データ ポイントには次のものが含まれる場合があります。

timestamp: ...
server: abc1-oss1
disk: disk_id1
read_bytes: a counter

abc\d+ および -oss\d+ には ID の範囲があり、たとえば、abc14-oss5、abc1-oss1、abc8-oss12 はすべて有効なホスト名です。

私がやりたいことは、さまざまな abc\d+-* グループすべての概要を提供することです。ビューアは、たとえば「abc2」を選択し、abc2-* に一致するすべてのホスト上のすべてのディスクの合計の導関数を取得します (カウンタが常に増加するため)。

最初のデータ挿入で特定のホストの合計を入れることはできましたが、abc2-oss* にある 12 ほどのホストではそれを行うことができません。

grafana では、正規表現を使用してテンプレート変数を作成し、可能な abc\d+ 値を $Area という変数に抽出してから、次のようにします。

select sum(value) from "read_bytes" where $timeFilter and hostname =~ /$Area.*/ group by time($interval) order asc

これにより、領域ごとの読み取り合計が得られますが、Derivative(sum(value)) は InfluxDB では無効であるため、その上で Derivative() を呼び出すことはできません。

select derivative(sum(value)) from ... 

「型 &{sum 10 [oxc21648f220] false} の値を評価できません」

これは、合計を計算するために InfluxDB で継続的なクエリが必要であることを意味し、その後、結果の測定値に Derivative() 呼び出しを配置することを意味すると想定しています。hostname =~ /abc1-.*/、などのすべての値を合計するには、部分的な列の値に対してどのようにすればよいでしょうhostname =~ /abc2-.*/か?

4

1 に答える 1

1

DERIVATIVE(SUM(value))は InfluxDB 0.9 で有効であり、FROM句での正規表現マッチングを引き続きサポートしています。

ただし、移行する前に0.8 と 0.9 の違いを読むことをお勧めします。それらは実質的であり、移行は自明ではありません。最高のエクスペリエンスを得るには、公式の 0.9.5 リリースを待ちます。

新しいストレージ エンジンは、最新のナイトリー ビルドに組み込まれています。

于 2015-10-08T00:33:17.067 に答える