График rrdtool немного другой график - PullRequest
2 голосов
/ 01 ноября 2011

Сначала я скажу, что даже после настройки системы, в которой я регистрирую каждую минуту общего количества HTTP-ответов (200, 301, 302 и т. Д.), И я могу знать, как обстоят дела с производительностью, говоря о пользователях, со мной случается так, что мой начальник злит меня на что-то, что, как мне кажется, связано с внутренними силами, но я должен решить это.

Что я делаю с rrdtool?:

Через минуту (60 секунд) суммирования различных HTTP-ответов я вставляю значение с отметкой времени в базу данных rrd.

Это определение rrd файла:

/usr/bin/rrdtool create file.rrd --start $_[7]-60 --step 60 DS:200:GAUGE:120:U:U DS:300:GAUGE:120:U:U DS:400:GAUGE:120:U:U DS:404:GAUGE:120:U:U DS:500:GAUGE:120:U:U DS:502:GAUGE:120:U:U DS:504:GAUGE:120:U:U RRA:AVERAGE:0.5:1:43200

Как вы можете видеть в RRA, я сохраняю 43200, что означает две недели, сохраняющие значения 60 секунд.

Проблема возникает, когда я рисую, это команда, которую я использую для рисования графика за последние 6 часов (где $ start - время начала, $ time - время окончания и $ rrd - rrd файл)

{/usr/bin/rrdtool graph last6hours.png --units=si --alt-y-grid --start $start --end $time -o -S 60 --width 600 --height 200 --imgformat PNG DEF:200=$rrd:200:AVERAGE LINE1:200#006666:"200" DEF:300=$rrd:300:AVERAGE LINE1:300#FF00CC:\"301+302\" DEF:400=$rrd:400:AVERAGE LINE1:400#000000:\"400\" DEF:404=$rrd:404:AVERAGE LINE1:404#6666CC:\"404\" DEF:500=$rrd:500:AVERAGE LINE1:500#00FF66:\"500\" DEF:502=$rrd:502:AVERAGE LINE1:502#FF0000:\"502\" DEF:504=$rrd:504:AVERAGE LINE1:504#FF9900:\"504\";}

И это тот, который я использую, чтобы нарисовать последние 12 часов:

{/usr/bin/rrdtool graph last12hours.png --units=si --alt-y-grid --start $start --end $time -o -S 60 --width 600 --height 200 --imgformat PNG DEF:200=$rrd:200:AVERAGE LINE1:200#006666:"200" DEF:300=$rrd:300:AVERAGE LINE1:300#FF00CC:\"301+302\" DEF:400=$rrd:400:AVERAGE LINE1:400#000000:\"400\" DEF:404=$rrd:404:AVERAGE LINE1:404#6666CC:\"404\" DEF:500=$rrd:500:AVERAGE LINE1:500#00FF66:\"500\" DEF:502=$rrd:502:AVERAGE LINE1:502#FF0000:\"502\" DEF:504=$rrd:504:AVERAGE LINE1:504#FF9900:\"504\";}

А теперь, пожалуйста, посмотрите на розыгрыши и увидите, что на первом графике внутри красного круга есть ответы от 200 до 0, но на графике за последние 12 часов это же снижение не идет до 0, поэтому мой начальник настаивает, чтобы я сказал, что данные не являются реальными, когда они есть, но хуже всего, если я знаю, что они реальны и касаются внутренних функций rrdtool, но я не знаю, как их решить.

Любое подчинение, пожалуйста?

last six hours

last twelf hours

1 Ответ

2 голосов
/ 01 ноября 2011

это изменение связано с тем, что rrdtool объединяет данные, адаптируя их к разрешению диаграммы, которую вы рисуете. Ваша исходная диаграмма показывает данные с высоким разрешением, в то время как вторая диаграмма охватывает более широкий временной диапазон и, таким образом, показывает несколько точек данных, объединенных в одну. учитывать следующее:

оригинал: 10,10,10,0,10,10

сводный от 2 до 1: 10,5,10

Если вы хотите сохранить экстремумы, вы должны установить MIN и MAX RRA и использовать их для построения графиков экстремумов.

НТН тоби

...