Драйвер InfluxDB

Adav
starter
Beiträge: 64
Registriert: 28.12.2016, 09:27

Re: Драйвер InfluxDB

Beitrag von Adav » 12.08.2017, 21:10

Накопились у меня вопросы по influxdb...

1. При обновлении на новые версии старше 1.3.4 возникают проблемы с сохранением данных в базу. Происходит это после перезапуска драйвера, восстанавливается при пересохранении настроек переменной. При этом странность - если поставить период записи 1 сек - все нормально. Поэтому остаюсь на старой версии. Новые версии появились уже давно, неужели ни у кого, кроме меня, нет такой проблемы?

2. Период хранения. Заметил, что эта величина создается одномоментно при создании базы через драйвер и потом уже не меняется ни в настройках драйвера, ни в настройках переменных (хоть и есть такая возможность). Поменять сие можно только в настройках самой базы целиком на всю базу (retention policy). Получается смысла в этих настройках ioBroker-а нет никаких? Поскольку у меня есть две группы переменных с разным временем хранения - вышел из положения используя два драйвера influxdb и соответственно две базы.

Benutzeravatar
Bluefox
Site Admin
Beiträge: 7922
Registriert: 13.07.2014, 14:42
Kontaktdaten:

Re: Драйвер InfluxDB

Beitrag von Bluefox » 12.08.2017, 23:50

Adav hat geschrieben:Накопились у меня вопросы по influxdb...

1. При обновлении на новые версии старше 1.3.4 возникают проблемы с сохранением данных в базу. Происходит это после перезапуска драйвера, восстанавливается при пересохранении настроек переменной. При этом странность - если поставить период записи 1 сек - все нормально. Поэтому остаюсь на старой версии. Новые версии появились уже давно, неужели ни у кого, кроме меня, нет такой проблемы?

2. Период хранения. Заметил, что эта величина создается одномоментно при создании базы через драйвер и потом уже не меняется ни в настройках драйвера, ни в настройках переменных (хоть и есть такая возможность). Поменять сие можно только в настройках самой базы целиком на всю базу (retention policy). Получается смысла в этих настройках ioBroker-а нет никаких? Поскольку у меня есть две группы переменных с разным временем хранения - вышел из положения используя два драйвера influxdb и соответственно две базы.
1. На данный момент это неизвестны какие либо проблемы.
А сколько надо поставить секунд что бы не работало?

2. Это так и это ограничение influx

Adav
starter
Beiträge: 64
Registriert: 28.12.2016, 09:27

Re: Драйвер InfluxDB

Beitrag von Adav » 13.08.2017, 09:26

Bluefox hat geschrieben: 1. На данный момент это неизвестны какие либо проблемы.
А сколько надо поставить секунд что бы не работало?
Странно. Дело в том, что это повторяется стабильно. На рабочей платформе, на тестовой (где что-нибудь проверяю), на совершенно новой установке с node 6 (решил попробовать). Везде debian 8. Собственно в последнем случае я и получил 1 сек. Было это так - поставил, версии все последние, оставил по умолчанию 1 сек - работает, удивился, обрадовался, посчитал что дело в версии node. Попробовал 60 сек (у меня это минимум для сохранения данных) - не работает, вернулся к старым платформам с версией node 4 - там то же самое, просто раньше не приходило в голову что так может быть и надо попробовать менять период записи. То есть, дело не в версии node. Попробовал менять около 1 секунды - если меньше - нормально, если больше - при 2 сек еще как-то работает, при 3 сек работает очень странно - пишет в среденем не через 3 сек, а через минуту-две, причем "плавает", при 5 сек - не пишет, ну и дальше так же... процедура проверки такая - запущен flot, где я вижу появляющиеся в базе точки и если они не появляются - я это вижу сразу. Перезапускаю драйвер и смотрю результат. Если отвалилось - восстанавливаю пересохранением настроек истории переменной.
2. Это так и это ограничение influx
Угу. Отчасти. Изменить время хранения в уже созданной базе можно, по крайней мере в самой базе (в командной строке или через их графическое приложение chronograf). Не понимаю, что мешает это сделать это в драйвере? Ну или хотя бы сделать подпись, что эта установка работает только при создании БД. А вот с переменными - действительно похоже никак. В таком случае не лучше ли вообще убрать этот параметр из настроек и не вводить пользователей в заблуждение?

Кстати, в свое время я и с драйвером history получил фактически неработающие установки времени хранения - там просто всегда и все хранилось вечно, что бы я не ставил - удаление данных не происходило. Не знаю как сейчас в последних версиях, я сейчас не использую этот драйвер совсем и это потеряло актуальность для меня.

kID
starter
Beiträge: 77
Registriert: 08.11.2014, 13:07

Re: Драйвер InfluxDB

Beitrag von kID » 21.08.2017, 17:20

Кому удалось сконвертировать данные из history в influx.
Несколько лет писалось в history, сейчас переезжаю на другой сервер и решил перенести весь объем данных на influx
Установлено собственно influx и драйве для нее. Новые данные пишутся без проблем. Наполнение базы iobroker наблюдаю в chronograf
Однако при попытке сконвертировать
nodejs history2db.js influxdb.0 info 20170822 /opt/iobroker/iobroker-data/history 2 --logChangesOnly 30 --ignoreExistingDBValues
Все встает колом. Админка умирает полностью
в логе
Spoiler: Show hidden text
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
На не слабой машинке все ядра загружены под 98%
Все это происходит даже если я пытаюсь скормить данные только за один день.
Уже всячески пробовал, все заканчивается только iobroker restart
Что я делаю неправильно ?!!

Antworten