MetricFireのHosted Graphiteは、送信したデータに対してさまざまな統計ビューを自動的に生成し、ダッシュボードで表示するのに最適な解像度でメトリックの高速ビューを提供します。
#なぜデータビューがすごいのか
データを詳しく解析したい際に役立つのがデータビュー機能です。普通ある一定間隔でデータポイントを表示する場合、オープンソースのgraphiteなどでは、あるレゾーリュション間の最後のデータがデータポイントとして表示されます。
しかし、MetricFireでは、そのレゾリューションの全てのデータの平均値や最高値などの詳細なデータを表示することができます。これは、あるレゾリューション間での1つのデータだけを参考にするわけではなく、全てのデータを参照するため、かなり高精度な監視を行うことができるのです。
これを他のSaaSツールなどで行うとそれなりに金額がかかってしまうものですが、MetricFireでは、このデータビュー機能をデフォルトで提供されているのも魅力です。
#View
すべてのGraphiteメトリックに対してデフォルトで保持するさまざまなビューは次のとおりです。
###:avg
平均(デフォルト)
###:sum
現在のグラフ解像度の時間枠中に受信したデータポイントの合計。 これはズームレベルによって異なります。
例:30秒ごとにデータポイントが描画されるグラフで:sumを使用すると、30秒ごとに受信したすべてのデータポイントの合計が表示されます。
###:sumrate
合計をデータポイント間の秒数で割ると、1秒あたりのレートが得られます。
:sumと:sumrateは、Counterメトリックで使用する最も一般的なビューです。
###:sum30:sum60:sumN:
sumrateから計算された、指定された秒数で受信した合計を提供します。 例えば。 ”:sum30”は、30秒にわたる合計を提供します。
これは、表示しているデータ解像度に関係なく一貫性のあるメトリックの合計が必要な場合に役立ちます。
より広いタイムスケールでグラフを描画する場合、それらを描画するために使用可能なスペースよりも多くのデータポイントがあります。 ”:sumN”構文を使用すると、指定された秒数にわたって正確にスケーリングされた合計を確認できます。
###:min
最小値
###:max
最大値
###:obvsrate
観測値を収集期間の秒数で割ると、1秒あたりのレートがわかります。
###:90pct:95pct:99pct
任意のパーセンタイルデータが必要ですか? コロンの後に数字を追加し、その後に「pct」を続けます。 01から99までの値を受け入れます。100パーセンタイルが必要な場合は、「:max」を使用する必要があります。
#使用例
StatsDとの比較
Hosted Graphiteビューは、statsdと完全に類似しているわけではありませんが、一般的に使用する場合は、ほとんど同じことを実行します。
- counting -> ‘:sum’ or ‘:obvs’
- rates -> ‘:sumrate’ or ‘:obvsrate’
- timers -> ‘:avg’ or ‘:min’ or ‘:max’
#データビューとGraphite関数
Graphite関数は、1つ以上のデータ系列に作用し、それらを新しいデータ系列に変換します。 Graphite関数を使用する場合、次の点に注意することが重要です。
- クエリで指定されたデータビューは、関数によって変更されません。 sumSeries()関数を使用する場合、クエリでも:sumを使用しない限り、各シリーズの平均値を合計することになります。
- グラフの解像度は関数によって変更できますが、データ系列の解像度は変更できません。 たとえば、summary()を使用すると、指定した時間枠内のすべてのデータポイントを1つにグループ化できます。 グラフのズームレベルを変更しても、summary()関数によって出力される間隔は変更されませんが、使用可能なデータポイントの数が変更される可能性があります。