簡體   English   中英

從多個.rrd文件添加值

[英]Adding values from multiple .rrd file

問題=====>基本上,三個部門生成了三個.rrd。 從中我們獲取三個值(MIN,MAX,CURRENT)並以3x3格式打印。 有一個python腳本可以做到這一點。

例如-

部門1:Min = 10 Max = 20 Cur = 15

Dept2:最小值= 0最大值= 10曲線= 5

部門3:Min = 10 Max = 30 Cur = 25

現在,我想將這些值相加(最小值,最大值,當前值)並打印在一行中。

例如-

部門:最小值= 20最大值= 60閾值= 45

我面臨的問題=====>無論我寫什么CDEF,我都在打破圖表。 :(這是我討厭的部分,因為我沒有收到任何錯誤消息。

據我了解(如果我錯了,請糾正我)我肯定不能在返回圖形時將值存儲在程序的任何地方。 在這種情況下添加值的正確方法是什么。

如果我對問題的描述不夠詳細,請告訴我。

您可以使用VDEF對CDEF的總和執行此操作。

DEF:a=dept1.rrd:ds0:AVERAGE
DEF:b=dept2.rrd:ds0:AVERAGE
DEF:maxa=dept1.rrd:ds0:MAXIMUM
DEF:maxb=dept2.rrd:ds0:MAXIMUM
CDEF:maxall=maxa,maxb,+
CDEF:all=a,b,+
VDEF:maxalltime=maxall,MAXIMUM
VDEF:alltimeavg=all,AVERAGE
PRINT:maxalltime:Max=%f
PRINT:alltimeavg:Avg=%f
LINE:all#ff0000:AllDepartments

但是,您應該注意,除了具有最高粒度的形式以外,最小值和最大值總計將是錯誤的! 這是因為max(a+b) != max(a) + max(b) 如果在存儲時不計算最小/最大合計,則在顯示時粒度將消失。

例如,如果a = (1, 2, 3)b = (3, 2, 1) ,則max(a) + max(b) = 6 ; 但是,實際上在任何時間點的最大值都是4。使用min(a) + min(b)也會遇到相同的問題。

暫無
暫無

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

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