2012-07-13 33 views
0

稍微背景 我有一個RRD存在以保存1500個以上RRD(我正在監視1500多個設備)的聚合值。我這樣做是爲了在我想要從包含我正在查找的數據的每個受監控設備獲取值時,我不會觸及1500多個RRD。我正在不斷增加這組受監視的設備,因此我會進行一些xml編輯(非常類似將新數據源添加到已有RRD的contrib perl腳本)以說明我的新設備。 RRD的更新每小時發生一次。添加新數據源後更新RRD失敗

的RRD與此

--step 3600 
--start now 
DS: [$cabinet-totalw] :GAUGE:7200:U:U" 
RRA:AVERAGE:0.5:1:4392 
RRA:AVERAGE:0.5:24:366 
RRA:AVERAGE:0.5:744:36 
RRA:MIN:0.5:24:732 
RRA:MAX:0.5:24:732 

FYI創造 - $櫥totalw其實是在for循環的變量。最初的構建環繞着1300個櫥櫃。我不想在這裏列出一切。

問題 當新設備被添加到監控組中時,數據源被添加到聚合RRD文件中。但是,當更新激發時,它實際上並未實際更新RRD,原因不明。當我這樣做手動updatev存在與零。如果我看xport輸出,我有NAN任何新的數據源數據。然而,所有現有的數據源似乎更新沒有問題。

目前我失去了爲什麼會發生這種情況。事情似乎是爲了對新的RRD數據源進行更新。更有趣的是,我在過去添加了數據源到這個文件,並沒有問題的更新。它似乎是最近的更新不需要。

我還應該補充一點,lastupdate的確會顯示...以及最後更新正確。所以我認爲我缺乏RRD知識?

加成 我寫抓住DS我感興趣的指數的腳本。然後,我通過解析一個rrdtool fetch的輸出基礎上找到每個時間間隔的索引請求的值。我發現這些值實際上正在更新並存儲在RRD中。有趣的是,時間戳在分配的時間段後顯示7分鐘(步驟是3600,因此數據應該在小時內存儲)。我現在認爲這是一個插值問題?

回答

0

我發現我的問題。當我更新xml文件中的rrd數據(轉儲後)時,我錯誤地向ds值和最小/最大值添加了錯誤的默認值。需要將節點值從NaN更改爲0.0000000000e+00,將最小/最大值從0.0000000000e+00更改爲NaN

如果有人試圖幫助,謝謝。