web-dev-qa-db-ja.com

グラファナでのマルチ時系列演算

Grafana の2つの時系列を減算するにはどうすればよいですか?または、2つを足し合わせたり、1つを別の分割したりします...?時系列間の違いをとることについての漠然としたヒントをオンラインで見つけましたが、実際にそうする方法を教えてくれるものは何もありません。 Grafanaを使用していますv2.0.2Influxdbを使用v0.8そして、適用できるdifference演算子のようなものを発見するのに十分なグラフコントロールをいじってみましたが、それをどのように使用するかわかりません。私はこれに関するドキュメントを見つけようとしましたが、 私が見つけることができる最も近い はこのトピックについてほとんど沈黙しており、スクリーンショットがあったのでインターフェースが変更されたため、少し古くなっているように見えます取られた。

ありがとう!

8
staticfloat

InfluxDBv0.12は、次の操作をサポートします。

集計関数の結果に対する算術演算:

SELECT 10* MEAN(usage_system) AS avg 
FROM cpu WHERE time > now() - 10s;

またはフィールド間の算術演算:

SELECT usage_system + usage_user AS avg 
FROM cpu WHERE time > now() - 10s;

そして最も重要なのは、集計関数の結果間で算術演算を実行できることです。

SELECT MEAN(usage_system) + MEAN(usage_user) AS avg 
FROM cpu
  WHERE time > now() - 10s 
  GROUP BY Host;

Grafana GUIエディターではサポートされていません まだです(ただし、手動モードで記述できます)。

6
Tombart

この機能は Grafanaの問題177 として追加されました:

2つのシリーズを設定し、目のアイコンをクリックして非表示にし、3番目のシリーズを前のシリーズの分割で配置します。

grafana - graphite queries

これはGraphiteでのみ機能します(流入にもうまく機能したいのですが)

6
XFMoulet

別の可能な解決策(私がグラファイトでのみ試した)は、sumSeries関数とscale関数を使用することです。 2つのタイムセリエを一緒に追加するには、

sumSeries(first.time.series, second.time.series)

違いを得るには

sumSeries(first.time.series, scale(second.time.series, -1))

これは、メトリックのテキストエディタを使用して実行する必要があります。

2
Johannes Hoff