RRD 图 - 按值更改线条颜色
RRD Graph - Change line colour by value
我有一个包含数据的 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",
如果我丢失任何包裹,我希望 Avg 线改变颜色。
例如,如果我丢失了 5 个数据包,则线路变为蓝色,如果我丢失 10 个,则线路变为红色。
我看到有人这样做,但我阅读了文档但找不到如何执行此操作。
实现这一点的方法是实际定义多条线(每种颜色各一条)并使用计算隐藏您不想随时看到的线。
例如,假设我们有一个带有两个 DS 的 RRD:
DS:x:GAUGE:60:0:U
DS:y:GAUGE:60:0:1
现在,如果 y
为 0,我们要将 x
的行显示为红色,如果为 1,则显示为蓝色。为此,我们创建两个计算值,x1
和 x2
.
CDEF:x1=y,0,EQ,x,UNKN,IF
CDEF:x2=y,1,EQ,x,UNKN,IF
因此,如果 y=0
则 x1
有效,如果 y=1
则 x2
有效。是的,这可以简化,但我在示例中是这样显示的。
现在,我们可以使用这些来制作线条:
LINE:x1#ff0000:MyLine
LINE:x2#0000ff
请注意,第二行不需要图例。现在,该行将根据 y
指标的值改变颜色,因为在任何时候另一行将是 UNKN
,因此不会显示。
当然,您可以扩展它,使其具有多种颜色和更复杂的阈值。
我有一个包含数据的 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",
如果我丢失任何包裹,我希望 Avg 线改变颜色。
例如,如果我丢失了 5 个数据包,则线路变为蓝色,如果我丢失 10 个,则线路变为红色。
我看到有人这样做,但我阅读了文档但找不到如何执行此操作。
实现这一点的方法是实际定义多条线(每种颜色各一条)并使用计算隐藏您不想随时看到的线。
例如,假设我们有一个带有两个 DS 的 RRD:
DS:x:GAUGE:60:0:U
DS:y:GAUGE:60:0:1
现在,如果 y
为 0,我们要将 x
的行显示为红色,如果为 1,则显示为蓝色。为此,我们创建两个计算值,x1
和 x2
.
CDEF:x1=y,0,EQ,x,UNKN,IF
CDEF:x2=y,1,EQ,x,UNKN,IF
因此,如果 y=0
则 x1
有效,如果 y=1
则 x2
有效。是的,这可以简化,但我在示例中是这样显示的。
现在,我们可以使用这些来制作线条:
LINE:x1#ff0000:MyLine
LINE:x2#0000ff
请注意,第二行不需要图例。现在,该行将根据 y
指标的值改变颜色,因为在任何时候另一行将是 UNKN
,因此不会显示。
当然,您可以扩展它,使其具有多种颜色和更复杂的阈值。