2011-05-20 54 views
0

我想在持續集成期間測量服務器的CPU和內存使用情況,然後將它們表示爲多個圖表。我使用循環數據庫文件(* .rrd)在java中使用RRD4J庫來完成它。用於測量CPU和內存使用情況的RRD

我不知道如何定義輪循檔案...... 我已經試過這種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"); 

在這兩種情況下,我記錄一個措施每秒鐘,但我仍然在圖表上2分5分鐘。我想在同一時期獲得更多價值的圖表。

回答

0

如果您在5分鐘的時間間隔內沒有看到更多細節,那麼我認爲您的步長爲5分鐘,您可以通過複製演示代碼獲得它。請在你的問題中顯示你的RrdDef構造函數。

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

此外,你可能想要一個CPU /內存使用GAUGE,而不是一個只有上升的計數器。如果你錯誤地使用了COUNTER,你會得到尖刻的輸出,因爲RRD將一個下移解釋爲溢出,併爲該觀察增加了一個非常大的數值。

在您的代碼中,您正在改變Heartbeat大小,它與Xff結合以確定輸入中容許的間隙大小。如果您有連續數據,則不會看到更改HB的任何影響。

+0

非常感謝!我已將步驟更改爲5,並將DsType.COUNTER更改爲DsType.GAUGE!有用! – Fabien 2011-06-29 09:31:52

相關問題