使用MAXNAN来帮助聚合多个rrd数据库

我有多个RRD数据库,每个数据库都有关于从不同位置观察到的服务可用性的不完整数据。 他们只logging100如果服务是up的,或0如果是down。

我想做一个图表,显示服务是否可以从任何位置,只要检查是否有任何RRD的数据在这个时间段有问题。

我正在尝试使用CDEF来实现这一点,该CDEF使用MAXNAN来查找我的平均数据源的最大值 – 下面是一个简化的例子:

 rrdtool graph /tmp/graph.png -a PNG \ --start=1427213255 \ --end=1427224055 \ --upper-limit=100 \ --lower-limit=0 \ --rigid \ DEF:d0=/tmp/location1.rrd:available:AVERAGE \ DEF:d1=/tmp/location2.rrd:available:AVERAGE \ CDEF:agg=d0,d1,MAXNAN \ AREA:agg#00DD00:availability 

这会产生错误

 ERROR: invalid rpn expression in: d0,d1,MAXNAN 

我哪里错了?

通常情况下,我写一个StackOverflow的问题,并提交之前发现答案。 在这种情况下,答案刚刚出现。 MAXNAN被添加到rrdtool 1.4.9,我使用1.4.7

我可以做一些适合我的用例的东西

 CDEF:agg=d0,0,ADDNAN,d1,0,ADDNAN,MAX 

在这里,我只是把NaN当作0,并且取得最大的结果。