Руководство по установке#

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 выполняется в следующей последовательности:

  1. В настройках nginx (/etc/nginx/sites-available/isogd) добавьте в секцию для основного приложения с помощью команды:

add_header Content-Security-Policy "frame-ancestors 'self' gemsdev.ru *.gemsdev.ru ;";

где: gemsdev.ru - изменяемый параметр, который необходимо заменить на свой домен.

  1. Добавьте конфигурацию 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/;
    }
}
  1. Перезапустите nginx:

systemctl restart nginx
  1. Перезапустите 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-адреса сервера и домена. Например:

../../../_images/host.png