Я создаю rrd с такой конфигурацией:
rrdtool create cpu.rrd --start N --step=1\
DS:user:GAUGE:2:0:100 \
DS:system:GAUGE:2:0:100 \
DS:nice:GAUGE:2:0:100 \
DS:idle:GAUGE:2:0:100 \
RRA:LAST:0.9:1:28800
и обновите с помощью этого цикла (это мой образец для проверки ввода данных):
I=1; while true; do rrdtool update cpu.rrd -t user:system:nice:idle N:10:10:11:$I; (( I++ )); sleep 1; done
после этого я сбрасываю файл xml:
<!-- 2016-01-18 13:36:52 IRST / 1453111612 --> <row><v>1.0000000000e+01</v><v>1.0000000000e+01</v><v>1.1000000000e+01</v><v>1.3740088000e+01</v></row>
<!-- 2016-01-18 13:36:53 IRST / 1453111613 --> <row><v>1.0000000000e+01</v><v>1.0000000000e+01</v><v>1.1000000000e+01</v><v>1.4716793000e+01</v></row>
<!-- 2016-01-18 13:36:54 IRST / 1453111614 --> <row><v>1.0000000000e+01</v><v>1.0000000000e+01</v><v>1.1000000000e+01</v><v>**1.5693714000e+01**</v></row>
<!-- 2016-01-18 13:36:55 IRST / 1453111615 --> <row><v>1.0000000000e+01</v><v>1.0000000000e+01</v><v>1.1000000000e+01</v><v>**1.6669438000e+01**</v></row>
</database>
4-й столбец должен быть 16 17 18 и так далее. почему эти значения не такие же?
Да, это потому, что вы добавляете дату в произвольные моменты времени. Пока вы настроили rrdtool для хранения данных с регулярными интервалами в 1 секунду ...
При обновлении данных с помощью 'N:' записывается точное время выполнения обновления (точность 1/1000 с) и выполняется повторная выборка данных с желаемым точным интервалом в 1 секунду, согласованным со временем по Гринвичу.