簡體   English   中英

RRD - 如何繞過非合並 CDP 的 MIN 和 MAX RRA 為 NaN 的限制

[英]RRD - How to bypass the limitation of MIN and MAX RRAs being NaN for non consolidated CDPs

假設我有一個包含 3 個數據源的 RRD: rtt_minrtt_avgrtt_max存儲來自 .network 數據包往返時間測試的數據。 每個 DS 的解釋都比較明顯:

  • rtt_min是單個測試期間所有 RTT 時間的最小值。
  • rtt_avg是單個測試期間所有 RTT 時間的平均值。
  • rtt_max是單個測試期間所有 RTT 時間的最大值。

這些樹浮點值在每次測試后存儲在 RRD 文件中(假設頻率與 RRD 步長值相同)。 我的目標是繪制rtt_avg值以及rtt_minrtt_max作為邊界值。 有兩種明顯的情況:

  1. 我可以為每個 DS 繪制AVERAGE圖表,這將為 RRA 生成准確的結果,其中每一行都有一個 PDP(1CDP = 1PDP;最新數據,沒有合並)。 但是對於舊數據, rtt_minrtt_max的平均值不是我想要的,因為我需要繪制這兩個數據源的最小值和最大值,而AVERAGE function 並不是最適合它的。

  2. 我可以繪制rtt_min:MINrtt_avg:AVERAGErtt_max:MAX ,它們的行為與我想要的合並(舊)數據一樣,繪制合並間隔的最小、平均和最大 DS 值,但會為最新數據提供低分辨率數據rtt_minrtt_max 這是因為MINMAX CDP 在 1PDP RRA 中是NaN 只有在整合之后,這些 CDP 才有價值,但使用它們會得到較低分辨率的數據,因為每個 CDP 都有多個 PDP。 這兩個在分辨率更高的rtt_avg旁邊看起來會很奇怪。

我需要兩者的結合。 由於MINMAX是 1PDP RRA 的NaN ,是否有一種簡單的方法來繪制rtt_max:LAST的時間段有數據在LAST中,並且對於較舊的數據使用rtt_max:MAX 我現在能想到的唯一解決方案是以某種方式計算我們在LAST中擁有數據的時間,並繪制該時間之前的MAX和之后的LAST

我可以繪制 rtt_min:MIN、rtt_avg:AVERAGE 和 rtt_max:MAX 圖表,它們的行為與我想要的一樣

這是你應該做的; 對 MIN 和 MAX 類型使用不同的 CF。

但會為 rtt_min 和 rtt_max 的最新數據提供低分辨率數據。 這是因為 MIN 和 MAX CDP 在 1PDP RRA 中是 NaN。

事實並非如此。 對於 1PDP RRA,MIN 和 MAX 應該給出與 AVERAGE 相同的結果。 我認為可能發生這種情況的唯一原因是您使用不正確的 xff 或心跳錯誤定義了 RRA 或 DS。

如果沒有您的 RRD 的定義,我無法確定,但我可以想象是這種情況。 過去,我曾在 1pdp-RRA 上毫無問題地使用過 MAX 和 MIN。

一個潛在的問題是,有時 RRA 中的最后一個值是未知的 (NaN),因為直到該時隙完全過去並收到新的數據樣本時才設置它。 過去,我檢索了 RRD 的最后更新時間並將其用作圖形基准時間而不是“現在”以避免這種情況。 如果您的更新頻率相對較小,那么這應該不是問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM