web-dev-qa-db-ja.com

合計メモリと空きメモリがある場合に使用済みメモリのグラファイトグラフを表示する方法

サーバーはmem_totalおよびmem_freeメトリックをGraphiteに送信しますが、ダッシュボードにmem_usedを表示したいと思います。私は現在、次のようにして問題を解決しています:

offset(scale(servers.foo.*.mem_free,-1),30823052)

ここで、30823052kは合計メモリです。

グラファイトを活用してmem_usedmem_totalからmem_freeを計算し、合計メモリ量をハードコーディングする必要がないようにする方法があるかどうか疑問に思っています。私のクエリでは?

私は最近Grafanaでいくつかのテストを行っており、部分的な解決策を見つけました。それは次のとおりです。

A) servers.foo.server1.mem_total (mark invisible)
B) servers.foo.server1.mem_free (mark invisible)
C) diffSeries(#A, #B)

ただし、このソリューションはワイルドカードなしでのみ機能します。サーバーごとにこのようなことを行うのではなく、ワイルドカードを使用できるようにしたいと考えています。

利用可能な関数を調べていましたが、groupByNodeは私が探しているソリューションの一部である可能性があるようですが、それを使用して目的を達成する方法をまだ理解していません。

4
phrend

mapSeries および reduceSeries を使用してこれを行うことができます。

reduceSeries(mapSeries(servers.foo.*.*,2),"diffSeries",3,"mem_total","mem_free")
2
kelunik