0
Отвечен

Добрый день! Каким образом можно вывести данные из сервера Иридиум во внешнюю СУБД?

Алексей Микуцкий 5 лет назад обновлен Vladimir Ovchinnikov (expert) 5 лет назад 16

Хотим передавать данные в Zabbix.

На рассмотрении

Добрый день.

Для внешней СУБД можно использовать драйвер ODBC, но он работает только на Windows клиенте/сервере.

Системную базу заменить на внешнюю СУБД не получится, можно только дублировать из неё данные.

Для Zabbix в Иридиум есть модуль.

Спасибо. Можем ли мы, не используя ODBC, дублировать данные во внешнюю СУБД?

== Модуль Zabbix, как я понял, предназначен для того, чтобы отправлять в Zabbix данные о работоспособности самого сервера Иридиум, а не данных из него.

Не только. В zabbix можно передавать любые данные.

1) Можно через кастомный драйвер отправлять произвольную команду по определённому событию, но написание команды (реализация протокола) уже забота интегратора. Пример, как это реализовано, можно увидеть в модуле Zabbix.

2) Можно по расписанию делать дамп системной БД и разворачивать его на другом хосте. Используется SQLite 3.8.7, там всё стандартно.

Не рекомендуется в качестве раздела под системную БД использовать удалённую файловую систему (NFS или распределённые ФС) - могут возникнуть сложности с лицензией. Техподдержка по такой конфигурации не оказывается, т. к. системная БД должна быть только на localhost).

Обязательно дамп?

Можно запрос к базе составить?

Если используется внешний инструмент (не Иридиум), то можно запросом взять только те данные, которые нужны.

Спасибо. Какие credentials при этом использовать (username/password)?

В SQLite нет логина и пароля, шифрование файла БД в Иридиум не используется.

Благодарю за быстрые ответы. У нас на том же компьютере, что и сервер Иридиум, установлен Sqlite3. Каким образом мы можем подключиться к базе данных ,которую использует Иридиум?

Добрый день.

Убедитесь, что на ПК есть sqlite-tools.

Пример создания дампа (для Windows перед этим можно просто скопировать файл sqlite3.exe в каталог с базой):

cd путь-к-каталогу-с-базой
sqlite3 IridiumStorage.db .dump>>DumpIridiumStorage.sql

Спасибо.

Еще вопрос. В таблице INTEGER_TAG_HISTORY есть поле DATETIME, формат - REAL. В SQLite это означает - целое 1, 2,4 или 8 байт.

Вопрос: сколько именно байт оно здесь?

Как их этого получить нормальную дату в каноническом формате?

Добрый день.

В поле DATETIME хранится дата в iDate. Подробнее тут.

Спасибо.

Цитата по ссылке: "Дробная часть определяет время. "

Вопрос - каким образом?

Секунды с начала суток, или что??

Добрый день.

Нет, с момента создания объекта. Если объект создаётся без аргументов, то извлекается текущее время. Если нужно увеличить значение на 1 секунду, то нужно прибавить 1/86400.

При создании объекта происходит раздельное заполнение года, месяца, даты, часов, минут, секунд и миллисекунд. Если передано более 1 аргумента, то оставшиеся параметры заполняются текущим значением.

Владимир, спасибо за исчерпывающие ответы. Ветку можно закрыть.

Сервис поддержки клиентов работает на платформе UserEcho