爲了給ganglia監控的數據加上報警的功能,在jenkins里加了一個定時job,運行報警的腳本。腳本須要對ganglia記錄的數據進行分析,如下是一點粗淺的理解。app
rrdtool的本質是用於畫圖的,因此當我運行rrdtool fetch /var/lib/ganglia/rrds/myapp/__SummaryInfo__/mycount.rrd AVERAGE時,出來的結果fetch
1454465040: 1.7000000000e+01 3.0000000000e+00 1454465055: 1.7000000000e+01 3.0000000000e+00 1454465070: 1.7666666667e+01 3.0000000000e+00 1454465085: 1.7400000000e+01 3.0000000000e+00 1454465100: 1.4333333333e+01 3.0000000000e+00 1454465115: 1.9066666667e+01 3.0000000000e+00 1454465130: 2.1466666667e+01 3.0000000000e+00 1454465145: 1.7866666667e+01 3.0000000000e+00 1454465160: 1.3600000000e+01 3.0000000000e+00 1454465175: 2.0400000000e+01 3.0000000000e+00 1454465190: 2.4400000000e+01 3.0000000000e+00 1454465205: 3.9600000000e+01 3.0000000000e+00 1454465220: 4.0800000000e+01 3.0000000000e+00 1454465235: 4.7200000000e+01 3.0000000000e+00 1454465250: 2.7000000000e+01 3.0000000000e+00 1454465265: -nan -nan
表明的是圖上的點,也就是說,每隔15秒的步長,畫一個值爲20的點spa
那麼,當到運行rrdtool fetch /var/lib/ganglia/rrds/myapp/__SummaryInfo__/mycount.rrd AVERAGE -r 60時,也就是取了60秒的數據再算平均值,也就是所謂的聚合。聚合度只有幾個固定的值,因此r參數不必定就是聚合度,要看顯示的結果步長爲多少秒。我再根據這個平均值乘以上報的頻率就能夠統計出必定時間內的數據了。code