rrdtool: незаконная попытка обновления
Я пытаюсь прочитать "исторические" данные из текстового файла и сохранить в rrdtool
график позже.
Я создал новую (пустую) базу данных rrd с
$ rrdtool create monitor_db.rrd --step 900 DS:col1:GAUGE:900:0:1000 DS:col2:GAUGE:3600:0:1000 RRA:MAX:0.5:1:1500
Затем я пытаюсь обновить базу данных, но получаю ошибку
$ rrdtool update monitor_db.rrd --template col1:col2 1404249680:2:3
ERROR: monitor_db.rrd: illegal attempt to update using time 1404249680 when last update time is 1422146997 (minimum one second step)
Отметка времени, что rrdtool
Clains - время последнего обновления, 1422146997
Сейчас я пытаюсь вставить данные примерно полгода назад.
Я понимаю, что вы должны вставить данные в хронологическом порядке, чтобы rrdtool
, но база данных должна быть пустой, так как я попытался удалить ее и заново создать.
2 ответа
Rrdtool создать имеет --start
опция, которая делает то, что вам нужно, не меняя времени для всей системы. По умолчанию 10 секунд назад.
Перед созданием базы данных мне нужно было изменить системное время.
- Установите системное время так, чтобы оно было раньше, чем первая временная метка в моем наборе данных. В моем случае:
1404249680
(2014-07-02T21:21
в формате ISO). - Создайте базу данных с
rrdtool create
, - Восстановить системное время до нормального.
- Обновите базу данных с
rrdtool update
,
Редактирование атрибутов файла с touch -d
было недостаточно, дата начала, вероятно, хранится где-то в файле базы данных.