8

statsdとgraphiteを使用してデータをグラフ化しようとしています。単純なカウンターがあり、それを1ずつ増やしてから、その日のカウンターの値をグラフ化すると、グラフのピークとして0.09のような奇妙な値が表示されます(http://i.stack.imgurを参照)。 com / o4gmz.png

このグラフには2つのログインが表示されているはずですが、代わりに0.09が表示されています。タイムスケールを1日から最後の15分に変更すると、2つのログインが正しく表示されます(http://i.stack.imgur.com/23vDJ.pngを参照) 。

storage-schemas.confで、最高の保持を10秒単位で設定しました。

retentions = 10s:7d,1m:21d,24h:5y

カウントを合計するようにstorage-aggregation.confファイルを設定しました。

[sum]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum

(そして、あなたが尋ねる前に、はい;これは.countです)。

それを使ってURLを試してみると、&rawData=trueどちらの場合でも、いくつかNoneのs、いくつかのs、およびいくつかのsで区切られたsの0.0ペアが表示されます。どういうわけかグラフに表示されるこれらの小数値は表示されません。だから...これはバグですか?私は何か間違ったことをしていますか?1.00.0

4

1 に答える 1

2

すべてを正確に描画するのに十分なピクセルがない場合に何をすべきかをグラファイトに指示するconsolidateBy関数もあります。デフォルトでは「avg」関数を使用しているため、時間範囲が大きくなると奇妙な結果になります。ドキュメントからの抜粋:

ピクセル単位のグラフ サイズの幅が、グラフ化されるデータポイントの数よりも小さい場合にグラフが描画される場合、Graphite は値を統合して、線が重ならないようにします。consolidateBy() 関数は、連結関数をデフォルトの 'average' から 'sum'、'max'、または 'min' のいずれかに変更します。これは、小数の値が意味をなさず、統合された値の「合計」が適切な販売グラフで特に役立ちます。

便利な別の関数はhitcountです。なぜ便利なのか、ここからの短い抜粋:

この関数は、異なるタイム スケールを自動的に補正し (細粒度レコードまたは粗粒度レコードのいずれかを使用して同様のグラフが生成されるようにする)、めったに発生しないイベントを適切に処理する点を除いて、summary() に似ています。

集計ルールが最大の場合に、時間範囲が数時間よりも長いカウンターの分数が得られる理由について、頭をかきむしるのに時間を費やしました。特に最初に単一のカウンターで遊んですべてが機能するかどうかを確認するときは、かなり混乱します. rawData をチェックすることは、健全性チェックをデバッグするための非常に良い方法です;)

于 2015-01-09T11:11:40.353 に答える