Используя MAXNAN для помощи aggregrating несколько rrd баз данных

У меня есть несколько баз данных RRD каждый с неполными данными о доступности сервиса, как наблюдается от различных местоположений. Они просто записывают 100 если сервис закончился, или 0 если это снижается.

Я хочу сделать график, показывающий, был ли сервис доступен от какого-либо местоположения, просто путем проверки, есть ли у меня любые данные в одном из RRDs в течение рассматриваемого периода времени.

Я пытаюсь сделать это с 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

Где я иду не так, как надо?

0
задан 24 March 2015 в 21:26
1 ответ

Обычно я пишу вопрос StackOverflow и нахожу ответ перед отправкой. В данном случае ответ пришел сразу после этого. MAXNAN был добавлен в rrdtool 1.4.9, а я использую 1.4.7

Я могу сделать что-то вроде этого, что подходит для моего варианта использования

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

Здесь я просто обрабатываю NaN как 0, и взяв максимальный результат.

1
ответ дан 4 December 2019 в 17:00

Теги

Похожие вопросы