1

継続的インテグレーション中にサーバーの CPU とメモリの使用量を測定したいと思います。それらをいくつかのグラフに表します。ラウンド ロビン データベース ファイル (*.rrd) を使用して、RRD4J ライブラリを使用して Java で実行します。

ラウンド ロビン アーカイブの定義方法がわかりません...次の種類の RRA を試しました。

rrdDefCPU.addDatasource("CPU", DsType.COUNTER, 150, 0, 100);
rrdDefCPU.addArchive("RRA:AVERAGE:0.5:8:300"); 

または

rrdDefCPU.addDatasource("CPU", DsType.COUNTER, 600, 0, 100);
rrdDefCPU.addArchive("RRA:AVERAGE:0.5:1:600"); 

どちらの場合も、1 秒ごとに 1 つの測定値を記録しますが、それでも 5 分間でグラフに 2 つのポイントが記録されます。同じ期間のより多くの値を含むグラフが必要です。

4

1 に答える 1

1

5 分間の間隔で詳細が表示されない場合は、ステップ サイズが 5 分であり、デモ コードをコピーして取得したと思います。質問に RrdDef コンストラクターを表示してください。

RrdDef rrdDef = new RrdDef(rrdPath, startTime, 300); // step size 300s

また、上昇するだけの COUNTER ではなく、CPU/メモリ使用量の GAUGE が必要になるでしょう。誤って COUNTER を使用すると、RRD がダウン ムーブをオーバーフローと解釈し、その観測値に非常に大きな量を追加するため、スパイクのような出力が得られます。

コードでは、Heartbeat サイズを変更しています。これは、Xff と組み合わせて、入力で許容されるサイズのギャップを決定します。継続的なデータがある場合、HB を変更しても効果は見られません。

于 2011-06-28T16:52:12.917 に答える