RRD图表 - 按值更改线条颜色

时间:2016-11-21 11:09:45

标签: rrdtool 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

我看到有人这样做,但我看了文档,但我找不到怎么做。

1 个答案:

答案 0 :(得分:3)

实现此目的的方法是实际定义多条线(每种颜色中的一条)并使用计算隐藏您不想在任何时间看到的线。

例如,假设我们有一个带有两个DS的RRD:

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

现在,如果x为0,我们希望以红色显示y的行,如果为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指标的值更改颜色,因为在任何时候其他行都将为info.aduna.platform.appdata.basedir,因此不会显示。

当然,您可以将其扩展为具有多种颜色和更复杂的阈值。