Rrdtool

rrddump XML 格式的文件在哪裡?

  • March 3, 2020

我正在使用 rrdtools 儲存我的伺服器的指標,並希望使用 rrddump 命令將此 rrd 轉儲到 XML。所以需要這種 XML 格式的文件,我在哪裡可以找到這個?

沒有專門針對 RRD 文件的 XML 格式的文件,但可以從有關二進制 RRD 格式的文件中導出,如下所示:

本指南是根據以下網站上的資訊匯總而成的:

另請參閱 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 互動的監控工俱生成的數據。

有一些元素我無法找到解釋。他們被標記??。

引用自:https://serverfault.com/questions/287829