簡體   English   中英

rrdtool圖忽略--step?

[英]rrdtool graph ignoring --step?

我有包含多個月 PDP 數據(5 分鍾間隔)的 RRD 文件。

對於一般用途的圖表,它很好,當 rrdtool 自動決定使用哪個 RRA 來顯示圖表時。

但是我的一些圖表在圖例中包含 95-Percentile 數據,我需要從“精確的”5 分鍾間隔數據中計算出來,因為從聚合數據點計算 Percentile 可能(本質上)導致顯着不正確的值。 '

  • 我可以以 300 步從 RRD 文件中fetch數據,我將獲得正確的數據來自己計算百分位數
  • 問題:當以 300 的步長繪制圖形時,顯示的百分比值會根據圖形的width而變化,即使時間范圍相同,並且整個時間范圍都有 300 秒的數據
  • 如果 1 個月圖表的寬度為 800 像素,則顯示的百分位數(以及最大值,例如)是錯誤的
  • 如果 1 個月圖表的寬度為 8000 像素,則值是正確的(與獲取的數據中的自計算值匹配)

圖形:

...
--step 300
...
"VDEF:perca=a,95,PERCENT",
...

創建與:

        '-s', '300',
       ...
        "RRA:AVERAGE:0.5:1:53568",      # 6 months pdp
        "RRA:AVERAGE:0.5:12:8904",      # 1 hour, 1 year.
        "RRA:AVERAGE:0.5:288:730",      # 1 day, 2 years.
        "RRA:AVERAGE:0.5:2016:520",     # 1 week, 10 years.
        "RRA:MAX:0.5:1:600",            # 5 min: 2 days
        "RRA:MAX:0.5:12:8904",          # 1 hour, 1 year.
        "RRA:MAX:0.5:288:730",          # 1 day, 2 years.
        "RRA:MAX:0.5:2016:520",         # 1 week, 10 years

這是因為在VDEF計算之前執行了數據整合。

盡管您的rrdtool graph arguments 指定了 300 秒的步長,但這比圖的一個像素要小,因此在您到達VDEF之前,數據系列會進一步平均。 所有CDEFVDEF函數將始終使用每像素一個 cdp 的時間序列。 從 RRDTool 手冊:

注意:小於一個像素的步長將被忽略。

這意味着,雖然您可以降低數據的分辨率,但不能提高它。 可悲的是,要獲得准確的第 95 個百分位數,您需要更高分辨率的數據。

因此,如果您在窄圖中省略--step 300 ,將會發生以下情況:

  • 您要求 1 個月的時間 window
  • RRDTool 計算 1 個像素大約是 1 小時
  • DS 從 1 小時 RRA 中檢索平均時間序列,每像素一個 cdp(IE 小時)
  • VDEF 然后將其合並到第 95 個百分位
  • 第 95 個百分位計算不准確

使用--step 300過程略有不同,但結果相同:

  • 您要求 1 個月的時間 window,步驟 300
  • RRDTool 計算 1 個像素大約是 1 小時
  • RRDTool DS 從 300s RRA 中檢索一個月的數據
  • RRDTool 使用 Average 進一步將此數據整合到每像素 1cdp(IE 每小時)
  • VDEF 然后將其合並到第 95 個百分位
  • 第 95 個百分位計算不准確

因此,您可以看到最終結果是相同的 - 它只是在 RRA 或圖表時間發生 300s -> 1h 整合的地方。

當使用寬圖時,每個像素的時間變得更小,RRDTool 不再需要執行其額外的數據合並,從而導致更准確的計算:

  • 您要求 1 個月的時間 window
  • RRDTool 計算 1 個像素大約是 5 分鍾
  • RRDTool DS 從 300s RRA 中檢索一個月的數據
  • 無需進一步合並
  • VDEF 然后將其合並到第 95 個百分位
  • 第95個百分位計算准確!

當您使用rrdtool fetch 1 檢索原始數據時,不會發生這種額外的合並,因此您會得到:

  • 您要求 1 個月的時間 window 步驟 300
  • RRDTool DS 從 300s RRA 中檢索一個月的數據
  • 這些數據是 output
  • 然后,您的電子表格會計算出第 95 個百分位
  • 第 95 個百分位數的計算是正確的(嗯,盡可能接近,間隔 5 分鍾)

您的下一個問題可能是,我該如何阻止這種情況發生? 不幸的答案是你不能。 RRDTool 沒有百分位數類型 CF,因此無法在 RRA 中執行正確的計算(這將是唯一真正的解決方案)。

用於 MRTG 的 Routers2 前端計算圖表的第 95 個百分位數,它的方式是執行高分辨率fetch以獲取原始數據並在內部計算值,然后在制作圖表時將其傳遞給HRULE 換句話說,由於您遇到的這個問題,它根本不使用VDEF

暫無
暫無

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

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