Rrdtool
rrddump XML 格式的文件在哪裡?
我正在使用 rrdtools 儲存我的伺服器的指標,並希望使用 rrddump 命令將此 rrd 轉儲到 XML。所以需要這種 XML 格式的文件,我在哪裡可以找到這個?
沒有專門針對 RRD 文件的 XML 格式的文件,但可以從有關二進制 RRD 格式的文件中導出,如下所示:
本指南是根據以下網站上的資訊匯總而成的:
- http://www.cuddletech.com/articles/rrd/ar01s02.html
- https://gridweb.triumf.ca/recipes/showentry.php?rid=112
另請參閱 rrdtool 網站上的文件。
RRD XML 文件的基本結構是:
<rrd> <version /> <step /> <lastupdate /> <ds> <name /> <type /> <step /> <minimal_heartbeat /> <min /> <max /> <last_ds /> <value /> <unknown_sec /> </ds> ... <rra> <cf /> <pdp_per_row /> <xff /> <cdp_prep> <ds> <value /> <unknown_datapoints /> </ds> ... <cdp_prep> <database> <row> <v /> ... </row> ... </database> </rra>... </rrd>
在這個特別的語法定義中,我使用了省略號 (…) 來表示元素的基數是 1 或更多。
這種結構可以描述為:每個Round Robin Database(<rrd>)都有一個或多個Data Sources(<ds>)和一個或多個Round Robin Archives(<rra>)。每個<rra> 包含一個數據庫(<database>),它有多個行(<row>)。每個<row>有多個值(<v>),其個數對應於為<rrd>定義的數據源(<ds>)的個數。
數據源元素 (< ds >) 定義了將被監控的每個數據源 (DS) 的數據特徵:
- <名稱>:DS 的自由文本名稱
- < step >:數據採集的採樣率,以秒為單位。假設每個主數據點 (PDP) 都在距離上一個 PDP 正好幾秒的時間點儲存數據。如果未指定,則使用預設值 300。
- < type >:擷取的測量類型 - { COUNTER | 導出 | 絕對 | GAUGE } 聲明為 COUNTER 的 DS 將保存一個步進週期內值的變化率。這假設該值始終在增加(目前值與先前值之間的差異大於 0)。路由器上的流量計數器是使用 COUNTER 作為 DST 的理想選擇。DERIVE 與 COUNTER 相同,但它也允許負值。如果您想查看伺服器上可用磁碟空間的變化率,那麼您可能需要使用 DERIVE 數據類型。ABSOLUTE 也保存了變化率,但它假設之前的值設置為 0。目前值和之前的值之間的差值始終等於目前值。GAUGE 不保存變化率。它自己保存實際值。沒有除法或計算。伺服器中的記憶體消耗是儀表的典型範例。
- < minimum_heartbeat >:我們可以在沒有更新的情況下進行的最長時間(以秒為單位)。例如,如果 minimum_heartbeat = 120 並且我們超過 120 秒沒有聽到任何值,則此間隔的主數據點設置為 UNKNOWN。
- < min >:數據源的最小可記錄值
- <max>:數據源的最大可記錄值
- <last_ds>: ??
- <值>:??
Round Robin Archive 元素 (< rra >) 定義了 RRD 中每個存檔的測量特徵。
存檔由每個已定義數據源 (DS) 的多個數據值或統計資訊組成。< rra > 的元素是:
- < cf >:歸檔的合併函式 - { AVERAGE | 最小 | 最大 | 最後的 }。PDP 基於合併函式進行聚合或過濾。
- < pdp_per_row >:將構成記錄值的 PDP 的數量。如果 pdp_per_row 大於 1,PDP 將根據 <cf> 進行聚合或過濾。<pdp_per_row> 和 DS<step> 的乘積給出了 <rra> 中每條記錄的採樣率(以秒為單位)。例如,如果 DS < step > = 300 且 < pdp_per_row > = 6,則 < rra > = 1800 秒的採樣率。
- < xff >:“XFiles 因子 (XFF)”。在不使記錄值未知的情況下可以未知的 PDP 百分比。
- < cdp-prep >: ??
- <database>:<rra>儲存的數據。一個<database> 由多個<row> 元素組成,每個<v> 元素的數量等於為<rrd> 定義的Data Source 元素(<ds>)的數量。< v > 元素儲存通過 rrdupdate 函式呼叫寫入 RRD 文件的採樣數據 - 換句話說,由與 RRD 互動的監控工俱生成的數據。
有一些元素我無法找到解釋。他們被標記??。