RRDTool: файл RRD не обновляется

Мой файл RRD не обновляется, в чем причина?

На графике показана легенда с: -nanv

Я создал файл RRD, используя этот синтаксис:

rrdtool create ups.rrd --step 300 
DS:input:GAUGE:600:0:360 
DS:output:GAUGE:600:0:360 
DS:temp:GAUGE:600:0:100 
DS:load:GAUGE:600:0:100 
DS:bcharge:GAUGE:600:0:100 
DS:battv:GAUGE:600:0:100 
RRA:AVERAGE:0.5:12:24 
RRA:AVERAGE:0.5:288:31 

Затем я обновил файл с этим синтаксисом:

rrdtool update ups.rrd N:$inputv:$outputv:$temp:$load:$bcharge:$battv

И привел это в соответствие с этим:

rrdtool graph ups-day.png 
-t "ups " 
-s -1day 
-h 120 -w 616 
-a PNG 
-cBACK#F9F9F9 
-cSHADEA#DDDDDD 
-cSHADEB#DDDDDD 
-cGRID#D0D0D0 
-cMGRID#D0D0D0 
-cARROW#0033CC 
DEF:input=ups.rrd:input:AVERAGE 
DEF:output=ups.rrd:output:AVERAGE 
DEF:temp=ups.rrd:temp:AVERAGE 
DEF:load=ups.rrd:load:AVERAGE 
DEF:bcharge=ups.rrd:bcharge:AVERAGE 
DEF:battv=ups.rrd:battv:AVERAGE 
LINE:input#336600 
AREA:input#32CD3260:"Input Voltage" 
GPRINT:input:MAX:" Max %lgv" 
GPRINT:input:AVERAGE:" Avg %lgv" 
GPRINT:input:LAST:"Current %lgv\n" 
LINE:output#4169E1:"Output Voltage" 
GPRINT:output:MAX:"Max %lgv" 
GPRINT:output:AVERAGE:" Avg %lgv" 
GPRINT:output:LAST:"Current %lgv\n" 
LINE:load#FD570E:"Load" 
GPRINT:load:MAX:"      Max %lg%%" 
GPRINT:load:AVERAGE:" Avg %lg%%" 
GPRINT:load:LAST:" Current %lg%%\n" 
LINE:temp#000ACE:"Temperature" 
GPRINT:temp:MAX:"   Max %lgc" 
GPRINT:temp:AVERAGE:"    Avg %lgc" 
GPRINT:temp:LAST:" Current %lgc" 

2 ответа

Решение

Вам понадобится как минимум 13 обновлений, каждые 5 минут (IE, 12 PDP (первичные точки данных)), прежде чем вы сможете получить один CDP (сводная точка данных), записанный в ваши RRA, что позволит вам получить точку данных на графике. Это связано с тем, что вашим RRA с самым маленьким разрешением является счет 12, что означает, что вам нужно 12 PDP для создания одного CDP.

Пока у вас не будет достаточно данных для написания CDP, вам не на что будет составлять график, и на вашем графике всегда будут неизвестные данные.

В качестве альтернативы добавьте RRA с меньшим разрешением (возможно, счетчик 1), чтобы вам не приходилось собирать данные так долго, пока у вас не будет полного CDP.

Сценарий обновления должен запускаться с точно таким же интервалом, как определено в вашей базе данных. Я вижу, что он имеет значение шага 300, поэтому база данных должна обновляться каждые 5 минут. Просто поместите ваш скрипт обновления в работу cron (вы также можете сделать это для вашего скрипта графа)

Например,

sudo crontab -e

При первом запуске выберите ваш любимый редактор (я обычно использую Vim), добавьте полный путь к вашему сценарию и запускайте его каждые 5 минут. Так что добавьте это (не забудьте переименовать путь):

*/5 * * * *  /usr/local/update_script > /dev/null && /usr/local/graph_script > /dev/null

Сохраните его и подождите пару минут. Я обычно перенаправляю вывод на /dev/null в случае вывода, который может быть сгенерирован скриптом. Так что, если скрипт, который будет выполнен, дает вывод crontab не удастся и отправит уведомление.

Другие вопросы по тегам