NEWS
Драйвер InfluxDB
-
Накопились у меня вопросы по influxdb…
1. При обновлении на новые версии старше 1.3.4 возникают проблемы с сохранением данных в базу. Происходит это после перезапуска драйвера, восстанавливается при пересохранении настроек переменной. При этом странность - если поставить период записи 1 сек - все нормально. Поэтому остаюсь на старой версии. Новые версии появились уже давно, неужели ни у кого, кроме меня, нет такой проблемы?
2. Период хранения. Заметил, что эта величина создается одномоментно при создании базы через драйвер и потом уже не меняется ни в настройках драйвера, ни в настройках переменных (хоть и есть такая возможность). Поменять сие можно только в настройках самой базы целиком на всю базу (retention policy). Получается смысла в этих настройках ioBroker-а нет никаких? Поскольку у меня есть две группы переменных с разным временем хранения - вышел из положения используя два драйвера influxdb и соответственно две базы.
-
Накопились у меня вопросы по influxdb…
1. При обновлении на новые версии старше 1.3.4 возникают проблемы с сохранением данных в базу. Происходит это после перезапуска драйвера, восстанавливается при пересохранении настроек переменной. При этом странность - если поставить период записи 1 сек - все нормально. Поэтому остаюсь на старой версии. Новые версии появились уже давно, неужели ни у кого, кроме меня, нет такой проблемы?
2. Период хранения. Заметил, что эта величина создается одномоментно при создании базы через драйвер и потом уже не меняется ни в настройках драйвера, ни в настройках переменных (хоть и есть такая возможность). Поменять сие можно только в настройках самой базы целиком на всю базу (retention policy). Получается смысла в этих настройках ioBroker-а нет никаких? Поскольку у меня есть две группы переменных с разным временем хранения - вышел из положения используя два драйвера influxdb и соответственно две базы. `
1. На данный момент это неизвестны какие либо проблемы.А сколько надо поставить секунд что бы не работало?
2. Это так и это ограничение influx
-
1. На данный момент это неизвестны какие либо проблемы.
А сколько надо поставить секунд что бы не работало? `
Странно. Дело в том, что это повторяется стабильно. На рабочей платформе, на тестовой (где что-нибудь проверяю), на совершенно новой установке с node 6 (решил попробовать). Везде debian 8. Собственно в последнем случае я и получил 1 сек. Было это так - поставил, версии все последние, оставил по умолчанию 1 сек - работает, удивился, обрадовался, посчитал что дело в версии node. Попробовал 60 сек (у меня это минимум для сохранения данных) - не работает, вернулся к старым платформам с версией node 4 - там то же самое, просто раньше не приходило в голову что так может быть и надо попробовать менять период записи. То есть, дело не в версии node. Попробовал менять около 1 секунды - если меньше - нормально, если больше - при 2 сек еще как-то работает, при 3 сек работает очень странно - пишет в среденем не через 3 сек, а через минуту-две, причем "плавает", при 5 сек - не пишет, ну и дальше так же… процедура проверки такая - запущен flot, где я вижу появляющиеся в базе точки и если они не появляются - я это вижу сразу. Перезапускаю драйвер и смотрю результат. Если отвалилось - восстанавливаю пересохранением настроек истории переменной.
> 2\. Это так и это ограничение influxУгу. Отчасти. Изменить время хранения в уже созданной базе можно, по крайней мере в самой базе (в командной строке или через их графическое приложение chronograf). Не понимаю, что мешает это сделать это в драйвере? Ну или хотя бы сделать подпись, что эта установка работает только при создании БД. А вот с переменными - действительно похоже никак. В таком случае не лучше ли вообще убрать этот параметр из настроек и не вводить пользователей в заблуждение?
Кстати, в свое время я и с драйвером history получил фактически неработающие установки времени хранения - там просто всегда и все хранилось вечно, что бы я не ставил - удаление данных не происходило. Не знаю как сейчас в последних версиях, я сейчас не использую этот драйвер совсем и это потеряло актуальность для меня.
-
Кому удалось сконвертировать данные из history в influx.
Несколько лет писалось в history, сейчас переезжаю на другой сервер и решил перенести весь объем данных на influx
Установлено собственно influx и драйве для нее. Новые данные пишутся без проблем. Наполнение базы iobroker наблюдаю в chronograf
Однако при попытке сконвертировать
nodejs history2db.js influxdb.0 info 20170822 /opt/iobroker/iobroker-data/history 2 –logChangesOnly 30 --ignoreExistingDBValues
Все встает колом. Админка умирает полностью
в логе
! 2017-08-21 20:27:17.004 - ^[[31merror^[[39m: history.0 storeState called with invalid data
! 2017-08-21 20:27:17.017 - ^[[31merror^[[39m: influxdb.0 storeState called with invalid data
! 2017-08-21 20:27:17.023 - ^[[31merror^[[39m: history.0 storeState called with invalid data
! 2017-08-21 20:27:17.030 - ^[[31merror^[[39m: history.0 storeState called with invalid data
! 2017-08-21 20:27:17.031 - ^[[33mwarn^[[39m: influxdb.0 Error on writePoint("{"value":0,"time":"2017-08-21T12:02:00.833Z","q":0,"a$
! / "{"error":"unable to parse 'javascript.0.Gas_variables.hour_power value=0,from=undefined,q=0,ack=true 1503316920833': invali$
! 2017-08-21 20:27:17.032 - ^[[32minfo^[[39m: influxdb.0 Add point that had error for javascript.0.Gas_variables.hour_power to buff$
! 2017-08-21 20:27:17.035 - ^[[33mwarn^[[39m: influxdb.0 Error on writePoint("{"value":0,"time":"2017-08-21T13:02:00.929Z","q":0,"a$
! / "{"error":"unable to parse 'javascript.0.Gas_variables.hour_power value=0,from=undefined,q=0,ack=true 1503320520929': invali$
! 2017-08-21 20:27:17.036 - ^[[32minfo^[[39m: influxdb.0 Add point that had error for javascript.0.Gas_variables.hour_power to buff$
! 2017-08-21 20:27:17.037 - ^[[31merror^[[39m: influxdb.0 storeState called with invalid data
! 2017-08-21 20:27:17.038 - ^[[31merror^[[39m: influxdb.0 storeState called with invalid data[/spoiler]
На не слабой машинке все ядра загружены под 98%Все это происходит даже если я пытаюсь скормить данные только за один день.
Уже всячески пробовал, все заканчивается только iobroker restart
Что я делаю неправильно ?!!