![](/img/trans.png)
[英]How to graph RRD stackable data by standard deviation to maximize readability
[英]RRD - How to bypass the limitation of MIN and MAX RRAs being NaN for non consolidated CDPs
假設我有一個包含 3 個數據源的 RRD: rtt_min
、 rtt_avg
和rtt_max
存儲來自 .network 數據包往返時間測試的數據。 每個 DS 的解釋都比較明顯:
rtt_min
是單個測試期間所有 RTT 時間的最小值。rtt_avg
是單個測試期間所有 RTT 時間的平均值。rtt_max
是單個測試期間所有 RTT 時間的最大值。 這些樹浮點值在每次測試后存儲在 RRD 文件中(假設頻率與 RRD 步長值相同)。 我的目標是繪制rtt_avg
值以及rtt_min
和rtt_max
作為邊界值。 有兩種明顯的情況:
我可以為每個 DS 繪制AVERAGE
圖表,這將為 RRA 生成准確的結果,其中每一行都有一個 PDP(1CDP = 1PDP;最新數據,沒有合並)。 但是對於舊數據, rtt_min
和rtt_max
的平均值不是我想要的,因為我需要繪制這兩個數據源的最小值和最大值,而AVERAGE
function 並不是最適合它的。
我可以繪制rtt_min:MIN
、 rtt_avg:AVERAGE
和rtt_max:MAX
,它們的行為與我想要的合並(舊)數據一樣,繪制合並間隔的最小、平均和最大 DS 值,但會為最新數據提供低分辨率數據rtt_min
和rtt_max
。 這是因為MIN
和MAX
CDP 在 1PDP RRA 中是NaN
。 只有在整合之后,這些 CDP 才有價值,但使用它們會得到較低分辨率的數據,因為每個 CDP 都有多個 PDP。 這兩個在分辨率更高的rtt_avg
旁邊看起來會很奇怪。
我需要兩者的結合。 由於MIN
和MAX
是 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.