2

次の保持設定でファイルを構成しました。

retentions = 10s:7d,1m:30d,5m:1y 

これは確かに機能しますが、私の問題は、Webアプリが上位のアーカイブではなく下位のアーカイブからデータを取得することを決定することです。例:私は1週間あたり10秒の解像度を持っているので、1週間未満を見ている場合(私の場合は1日間だけデータを探していた)、データは最初のレベルから取得されると予想します(これは10秒まで正確です)しかし、Webアプリは次のレベルからデータをプルするため、平均データを取得しています。

私はこれをドキュメントで見つけました:

「データが取得されると(時間範囲でスコープが設定されます)、期間全体を満たすことができる最初のアーカイブが使用されます。期間がアーカイブの境界と重なる場合は、低解像度のアーカイブが使用されます。これにより、より簡単な動作が可能になります。データの解像度は返されたシリーズ全体で一貫しているため、データを取得します。」

グラファイトに最高解像度のアーカイブからデータを取得させるにはどうすればよいですか?私の意図は1週間(10秒)の高解像度であり、次のレベルは1分の解像度で30日です。

これを実現する方法、またはストレージスキーマを再構成する方法はありますか?

4

2 に答える 2

2

さらに調査したところ、問題が見つかりました。

「Fetch」コマンドを使用してWhisperに直接クエリを実行すると、実際に期待どおりに高いレベルから値が取得されました。レンダリングAPIを使用した場合も期待どおりに機能しましたが、Webアプリグラフ(またはSVG形式のAPI)を使用した場合、グラフが滑らかになり、スパイクが緩みました。期間中にドリルダウンを行った場合にのみ、これらのスパイクを確認できました(2時間の解決のため)。

解決策は、各グラフにminXStepプロパティを使用し、それを0に設定することです(0.1でも十分に機能します)。レンダリングAPIを使用する場合は、minXStepプロパティ(デフォルトは1)を使用し、ダッシュボード領域を使用する場合は、[レンダリングオプション]->[X軸]->[ポイント幅の統合しきい値]に移動し、 1より低い値。

詳細については、 http: //graphite.readthedocs.org/en/latest/render_api.html#minxstepを参照してください。

于 2013-03-15T15:22:38.917 に答える
0

問題が解決したことをうれしく思います。他の人にも役立つかもしれないので、私が与えたであろう答えを投稿します(あなたの場合にはそうではないように聞こえますが)。

通常、今日は1時間探して期待どおりの解像度が得られますが、2週間前に1時間探した場合は、Graphiteで利用できるのはそれだけなので、より粗い解像度になります。また、保持ポリシーの境界を超える日付範囲を調べているときに、より粗い解像度を選択していることもわかります。あなたの場合、過去8日間を見ると、ほとんどの場合10秒の解像度であるにもかかわらず、8日目は1メートルの解像度しかないため、1メートルの解像度が得られます。したがって、すべてに1メートルの解像度が使用されます。 。

于 2013-03-26T15:53:01.280 に答える