2016-11-21 50 views
1

更改線的顏色我有一個RRD數據庫中的數據:RRD圖 - 通過價值

"DS:pkts_transmitted:GAUGE:120:0:U", 
    "DS:pkts_received:GAUGE:120:0:U", 
    "DS:pkts_lost:GAUGE:120:0:U", 
    "DS:rtt_min:GAUGE:120:0:U", 
    "DS:rtt_avg:GAUGE:120:0:U", 
    "DS:rtt_max:GAUGE:120:0:U", 

而且我要的是平均線的變化顏色,如果我丟失任何包。

例如,如果我丟失了5個數據包,則該線條變藍,如果我輸了10個數據包變紅。

enter image description here

我看到人們這樣做,但我閱讀文檔,我無法找到如何做到這一點。

回答

3

實現此目的的方法是實際上定義了多行(每種顏色之一)並使用計算隱藏您不希望看到的行。

例如,假設我們有兩個DS中的RRD:

DS:x:GAUGE:60:0:U 
DS:y:GAUGE:60:0:1 

現在,我們要顯示爲紅色,如果y是0 x線,藍如果是1,要做到這一點,我們創建兩個計算值,x1x2

CDEF:x1=y,0,EQ,x,UNKN,IF 
CDEF:x2=y,1,EQ,x,UNKN,IF 

因此,x1是有源如果y=0x2如果y=1。是的,這可以被簡化,但是我爲此示例顯示了它。現在

,我們可以利用這些線路:

LINE:x1#ff0000:MyLine 
LINE:x2#0000ff 

注意,第二行並不需要一個傳說。現在,該行將根據y度量標準的值顯示爲顏色更改,因爲任何時候其他行都將爲UNKN,因此不會顯示。

您可以擴展這個,當然,有多種顏色和更復雜的閾值。

+0

謝謝你,我做的或多或少都一樣。我有7項defs和poller只是把我需要的位置的顏色和其他nan值的值。 –