2014-01-09 21 views
0

大家都知道,MRTG至少需要在其輸入上傳遞一個值。向我解釋了MRTG如何測量傳入數據的差異

在每個目標的選項MRTG有「規」,「絕對」和默認(不帶選項)的「如何處理傳入的數據做的行爲。或者,如何計算它。

讓我們看一下基本的,但通俗的例子:

我們通過從「有多少數據包是由接口收到」網絡接口統計數據的累積數據。

我們把它從「的/ proc /淨/ dev的」還是看「使用ifconfig」的輸出爲某些網絡接口。每次接收的字節數都在增加。它的累積。

所以我可以想像可能有兩種可能的統計: 1.如何快速:在時間間隔這個值的變化。用其他詞語 - 活動。 2.簡單的,現在正在增長的圖形,只是每分鐘(或任何其他時間interwal)繪製每個新的值

第一個圖形將是saltatory(活動)。其次每一次都會長大。

我看了兩次的rrdtool的和MRTG的文檔和無法理解其中上述選項重要的東西。

我想(我不確定)'量表'是如何繪製值的,沒有任何差異計算(適合測量每5分鐘使用多少內存或cpu)。而默認或「絕對」行爲試圖計算附近測量之間的速度,但最後兩個測量之間的差異是什麼?

你能,夥計們,以簡單的方式,其行爲代表的三個選項中哪個選項後可以解釋一下嗎?

在此先感謝。

回答

1

MRTG假定一切都被測量爲速率(即使它不是一個速率)

類型「規」假定您已經計算出的速率;因此,提供的值按原樣存儲(數據標準化後)。這適用於CPU使用情況。

類型「絕對」假設傳遞的值是自上次更新計數。因此,該值除以上次更新後的秒數以得到每秒事情的速率。這種情況很少使用,只適用於某些特殊的數據源,這些數據源會在讀取時重置其值 - 例如,計算日誌文件中行數的腳本,然後截斷日誌文件。

類型'counter'(默認值)假定傳遞的值是一個不斷增加的計數,可能是16或64位的換行。該值與其先前值之間的差值除以上次更新後的秒數,以得到每秒事情的速率。如果它看到數值減少,它將假設一個計數器在16或64位迴繞。這適用於類似網絡流量計數器的情況,這就是默認行爲的原因(MRTG最初是爲網絡流量圖編寫的)

類型'derive'類似'counter',但允許計數器減少導致負面率)。這在MRTG中不可能直接使用,但是如果需要,您可以手動創建必要的RRD。

所有類型隨後執行數據標準化以將時間戳調整爲間隔的倍數。對於值小於計數器類型的值較大的計量器類型,這將更加明顯。

有關信息,請參閱Alex van der Bogaerdt's excellent tutorial

+0

我讀它,記住不能得到detailes。 'gauge'看起來很清楚。但其他人看起來有霧。 F.E. :'可能在16位或64位環繞 - 這是什麼? – remort

+1

計數器不計入無窮大,而是他們有一個最大值,然後他們環繞到0 ...與32位計數器這經常發生在一個快速鏈接。 MRTG注意到這一點,並補償... rrdtool太順口了,但它甚至更好。 –