2017-06-12 7 views
2

いくつかの利用可能な方法(例えばcollectd)を使用して、Aerospikeメトリックを別のノードに配信しようとしています。組み込みのAerospikeメトリックに加えて派生したメトリックを定義/送信する方法

たとえば、Aerospikeモニタリングメトリックの中で、XとYの2つのフィールドを指定すると、Z = X + YまたはX/Yのような派生メトリックを定義して送信するにはどうすればよいですか?

受信側で計算できますが、アプリケーション全体のパフォーマンスが低下します。事前にあなたの指導を感謝します。

ありがとうございました。

答えて

4

Aerospike collectdプラグインでは、読み込み後すぐに測定値が多かれ少なかれ出荷されるため、これを行うことはできません。出荷されたメトリックを保存する変数はありません。

Graphiteプラグインを使用することができれば、すべての収集されたメトリックを追跡し、最後に1回送信します。 nmsg line.の直前に計算されたメトリックの別のスタンザを追加することができます。ソースメトリックについてmsg []配列を検索する必要があります。

Nagiosプラグインは非常に異なる方法です。これは単一のメトリック・プルなので、各オペランドのプラグインを実行し、ラッパーで計算を実行するにはラッパー・スクリプトが必要になります。

または、既存のプラグインを、派生メトリックのための独自のスクリプトで補うことができます。私たちのすべての監視プラグインはAerospike Info Protocolを利用しており、asinfoを使用して、以前のNagiosメソッドと同様にオペランドのメトリックを収集できます。

+1

あなたの洞察を共有していただきありがとうございます。メトリックスの配送にネットワークプラグインの代わりにcarbon collectdプラグインを使用したいのですが?あなたが言及したグラファイトプラグインと同様にそれを実装できますか?私はあなたが提案した他の方法も考慮します。 – raymond

+1

私はカーボン・コレクティブ・プラグインに精通していませんが、グラファイトのフロントエンドを通過するのではなく、カーボンのバックエンドに直接送られるネットワーク・シッパーのように見えます。 これまでプラグインについて言及したとき、私は様々なAerospikeモニタリングプラグインを意味しました。 – Richard

+1

[aggregation-rules.conf](http://graphite.readthedocs.io/en/latest/config-carbon.html#aggregation-rules-conf)を使用して、既存のメトリックから新しいメトリックを導出できるようです。 – kporter

関連する問題