Получить максимальное и минимальное значение из файла rrd, сгенерированного Cacti

У меня есть файл rrd, в котором хранится статистика входящего и исходящего трафика интерфейсов.

Что я хочу, так это то, что мне нужны максимальные и минимальные значения в определенный период времени.

Я пробую эту команду, но она выдает ошибку ОШИБКА: неверное выражение rpn в: v,MAX

rrdtool graph -s 1537466100 -e 1537552237 DEF:v=lhr-spndc-7609_traffic_in_612.rrd:traffic_in:MAX CDEF:vm=v,MAX PRINT:vm:%lf

Не могли бы вы помочь ввести правильную команду и добиться желаемой функциональности?


person Terminator    schedule 21.09.2018    source источник


Ответы (1)


Вы должны использовать VDEF для определения vm, а не CDEF.

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

VDEF предназначен для преобразования одного ряда данных в одно значение с помощью функции консолидации, например, для получения максимального значения ряда по всему графику. Это отличается от функции, указанной в DEF, которая указывает только то, как объединить серию с более высокой степенью детализации в серию с более низкой степенью детализации.

person Steve Shipway    schedule 23.09.2018
comment
Здравствуйте, дорогой, я тоже пробовал с VDEF. Можете ли вы сказать мне, что решение тогда. - person Terminator; 26.09.2018
comment
DEF:v=file.rrd:ds:MAX VDEF:vm=v,MAXIMUM -- это дает вам единственное значение максимума ds во всем временном окне. Аналогично с MIN/MINIMUM для получения минимальных значений, если в файле есть необходимые RRA. - person Steve Shipway; 27.09.2018
comment
я получаю эту ошибку Mr.Steve ОШИБКА: Недопустимое vname: v в строке VDEF:vm=v,MAXIMUM - person Terminator; 30.09.2018
comment
Это означает, что вы неправильно настроили v. Проверьте остальную часть командной строки и найдите другие ошибки. Убедитесь, что вы определили v, прежде чем использовать его для определения vm. - person Steve Shipway; 30.09.2018