LINUX.ORG.RU
ФорумAdmin

Проблема с rrdtool


0

0

Добрый день!

Есть база данных rrd. Тип источника данных - GAUGE. RRA архив собирает данные каждые 5 минут, количество отсчетов позволяет хранить данные за месяц. Функция консолидации - AVERAGE, но так как ячейка собирает только один отсчет - то это просто отсчет, попавший в ячейку. Строятся графики за три периода - сутки, неделя, месяц.

Проблема в том, что графики отсчеты для которых взяты из одной базы - РАЗНЫЕ. Например, за последние сутки был пик значения. Если смотреть график за неделю, то этот пик наличиствует и на графике за неделю в то же время. Но! Его величина раз в 6 меньше. Ну и т.п. Видимо rrdtool производит некие странные вычисления, зависящие от периода построения графика. Такой разнобой нас совсем не устраивает. Помогите советом!

anonymous

странно ... картина та же самая, только сбор каждую минуту. отрисовует все нормально.

а если пробовать отрисовать без графики за разные периоды без различных вычислений - поубирать разные CDEF:.. и сравнить их ?

a_andry
()
Ответ на: комментарий от a_andry

Ерунду написал.
Проверил, действительно, пик отрисовует -
.. --start -1d ~ 47mbit
.. --start -2d ~ 25mbit
.. --start -3d ~ 15mbit
сто пудов зависит от шага просчет - 45~25x2~15x3

a_andry
()

как вариант - нагенерить кучу графиков по 1 дню, и потом их каким-то образом сжимать по длине и слепливать их вместе. хз првда как это сделать, да и вообще чего можно будет разглядеть на таком графике скажем за месяц )

a_andry
()

Думаю, что проблема с ограничением длины графика в пикселах. Другими словами, в базе хранится n отсчетов за указанный период. Длина графика (параметр --width) составляет допустим величину, большую, чем n. В этом случае, rrdtool не может использовать все точки за указанный период из базы. И тогда он применяет к отсчетом функцию консолидации, для уменьшения количества отсчетов (консолилирования имеющихся за какой-то интервал), чтобы они поместились на график. По умолчанию он применяет функцию консолидации, указанную в определении DEF. Можно изменить это поведение, используя в DEF дополнительный параметр - reduce:CF. Т.е. на графике за неделю пиксел содержит усредненное значение за некий промежуток времени - отсюда и разность пиков. Можно, конечно увеличивать ширину графика из расчета ширина=количество отсчетов_за_период=период/шаг_архива - но думаю, что это не всегда приемлемо - читать здоровенные портянки. Либо можно создать еще один архив, консолидирующий отсчеты за более длинные интервалы, но здесь опять же будет работать некая функция консолидации.

anonymous
()

Всё просто, если недельные (месячные, годовые) графики рисуются по методу AVERAGE, то 5-минутный пик в масштабе недели (месяца, года) сгладится, так как остальные значения , между которыми считается AVERAGE, непиковые. Попробуй завести дополнительную AREA для пиков, её рисуй линиями MAX и MIN.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.