Руководство по установке#
Sapphire - визуальный конструктор, предоставляющий инструменты проектирования сложных запросов к базе данных Системы, для быстрого поиска информации, с возможностью представления результатов запросов в форме таблиц или интерактивных карт.
Приложение Sapphire в интерфейсе Системы представлено в раскрывающемся меню ссылкой «Конструктор запросов», а также реестром «Результаты Запросов» в панели навигации основного приложения ИАС.
Примечание
Язык конструктора запросов (Sapphire) зависит от языка Geometa.
Установка Конструктора запросов#
Пакет установки приложения состоит из директорий:
SapphireDeploy — содержит установочный скрипт для конструктора запросов;
releaseSapphire.zip — содержит дистрибутивы конструктора запроса, устанавливаемые скриптом.
Примечание
Пакет установки посталяется в виде архива. Перед копированием на сервер, архив необходимо распаковать.
Перед установкой скопируйте директории SapphireDeploy и releaseSapphire.zip из пакета установки в директорию, в которую будет производиться установка Sapphire. Например: /home/user/
Для установки приложения запустите команду:
sudo bash /home/user/SapphireDeploy -installDir=/opt -connectionString='Server=172.16.55.26;Port=5432;Database=name_db;User Id=postgres;Password=admin; ApplicationName=Sapphire;' -url=http://localhost:5070 -publicOrigin=https://sapphire.gemsdev.ru -iasPublicOrigin=https://geometa.gemsdev.ru -projects=[\"schema\"] -openOfficeBaseAddress=http://localhost:5078 -memoryLimit=2G
изменяемые параметры:
/home/user/
- директрия, в которую будет устанавливаться Sapphire;installDir
- папка, в которую будет устанавливаться конструктор запросов;connectionString
- строка подключения к БД;url
— локальный хост и порт, под которыми нужно установить конструктор запросов. Вurl
должно быть указаноhttp://
илиhttps://
, а в конце доменного имени должен отсутствовать/
publicOrigin
— под каким адресом будет доступен конструктор запросов во вне;iasPublicOrigin
— адрес IAS — нужен, чтобы обеспечить авторизацию в конструктор запросов;projects
— список схем проектов, на которых будет работать конструктор запросов в виде массива. Перечисляются внутри скобок через запятую в экранированных кавычках. Например-projects=[\"krskkrai\",\"krasnoyarskg\",\"norilskg\",\"achinskgorod\",\"nazarovog\",\"zelenogorskg\",\"kozulskr\",\"rybinskiir\",\"biriluyskr\",\"minusinskg\"] -openOfficeBaseAddress=http://localhost:5078 -memoryLimit=2G
;openOfficeBaseAddress
— путь до сервиса конвертации отчетов. Если не указан — используется значение по умолчанию (http://localhost:5078). Для функции «экспорт в .ods» необходимо, чтобы были установлены LibreOffice и сервис конвертации Gems.OpenOffice.Converter.Service;memoryLimit
— позволяет указать ограничение на память, потребляемую приложением. Указывается, как число и суффикс K,M,G,T (килобайты, мегабайты, гигабайты и террабайты соответственно), либо как число со знаком процента — для указания процента от доступной памяти сервера.
Установка компонентов БД#
Установите компоненту БД на все схемы проектов, указанные в параметре projects при установке Sapphire, с помощью команды:
dotnet /home/IAS/Cli/gems.cli.dll db-migrate -f /home/Sapphire/ -c "Username=postgres;Password=admin;Host=172.16.55.26;Database=kazan_v4" -o Project.Sapphire.OldTablesRemoval -s kazan
Настройка nginx#
Настройка nginx выполняется в следующей последовательности:
В настройках nginx (/etc/nginx/sites-available/isogd) добавьте в секцию для основного приложения с помощью команды:
add_header Content-Security-Policy "frame-ancestors 'self' gemsdev.ru *.gemsdev.ru ;";
где: gemsdev.ru
- изменяемый параметр, который необходимо заменить на свой домен.
Добавьте конфигурацию nginx для Sapphire:
server {
server_name qa-sapphire.gemsdev.ru;
listen 443 ssl http2;
include /etc/nginx/sites-available/isogd-common;
include /etc/nginx/sites-available/isogd-ssl;
location / {
proxy_pass http://localhost:5070/;
}
}
Перезапустите nginx:
systemctl restart nginx
Перезапустите Sapphire:
systemctl restart sapphire
Интеграция Sapphire в Систему#
Для корректной работы модуля «Расширенный анализ данных (Sapphire)» необходимо в команду установки Системы добавить настройки и переустановить ее.
Настройки, которые необходимо добавить к установочной команде терминала:
-extraModule=Gems.Module.SapphireIntegration -appServerEnvVar="Gems__IAS__SapphireIntegration__SapphireUrl=https://АДРЕС_КОНСТРУКТОРА_ЗАПРОСОВ"
Пример установочной команды Системы вместе с модулем «Расширенный анализ данных (Sapphire)»:
sudo bash /home/IASUnixDeploy \ installDir=/opt/IAS -connectionString='Server=localhost;Port=5432;Database=database;User Id=postgres;Password=admin;Connection Idle Lifetime=5;Connection Pruning Interval=3;' -gHost=192.168.1.5 -iasPublicOrigin=https://ias.gemsdev.ru -monitorPublicOrigin=https://monitor.gemsdev.ru -importerPublicOrigin=https://importer.gemsdev.ru -extraModule=Gems.Module.SapphireIntegration -appServerEnvVar="Gems__IAS__SapphireIntegration__SapphireUrl=https://sapphira.gemsdev.ru"
Для корректного обновления запросов из Системы убедитесь, что доменное имя Sapphire доступно со стороны сервера.
Проверить данное условие можно с помощью команды:
ping <Доменное имя Sapphire>
В случае, если приложение недоступно, то пропишите в файле etc/hosts соответствие IP-адреса сервера и домена. Например: