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

Модуль собирает информацию о работе интеграций с внешними информационными системами: НСПД, Стройкомплекс.РФ, ИСУП, а также отслеживает использование интеграции с ЕГРН и наполняемость адресного плана.

Установка модуля#

  1. Подключите в метаданные проекта подсистему:

    • ..\Подсистемы\Мониторинг взаимодействия с внешними ИС.

  2. Откройте метаданные проекта в Редакторе метаданных и проверьте на наличие ошибок.

  3. Обновите метаданные на всех схемах проекта.

  4. Выполните скрипты:

    • на роли 3_roles.sql, расположенный по пути ..\Подсистемы\Мониторинг взаимодействия с внешними ИС\Для установки\FullWfScript;

    • на каталоги 4_catalogs.sql, расположенный по пути ..\Подсистемы\Мониторинг взаимодействия с внешними ИС\Для установки\FullWfScript;

    • для создания функций в схеме public, расположенных по пути ..\Подсистемы\Мониторинг взаимодействия с внешними ИС\Для установки\Скрипты».

В скриптах создания функций предварительно перечислите проекты, которые не будут использовать функционал Мониторинга взаимодействия с внешними ИС (Amethyst). Например, scheme not in('demogo').

../../../_images/amethyst_1.png

Настройка автоматического запуска скриптов средствами Cron#

  1. Отредактируйте файл .sh, заменив подключения к БД на свои. Файл расположен по пути ..\Подсистемы\Мониторинг взаимодействия с внешними ИС\Для установки\Для Cron.

  2. Отредактируйте дату в параметрах функций, для которых она требуется.

../../../_images/amethyst_7.png
  1. Перейдите на сервер БД и создайте необходимые папки для хранения файлов запуска .sh. Например, /home/gemsuser/cron_scripts/amethyst.

  2. Добавьте в созданную директорию отредактированный файл .sh.

  3. Добавьте права на выполнение скрипта. Например:

chmod +x /home/gemsuser/cron_scripts/amethyst/f_amethyst_get_egrn_info.sh
  1. С помощью команды crontab -e добавьте задачу для выполнения в Cron. Например:

*/5 * * * * /home/gemsuser/cron_scripts/amethyst/f_amethyst_get_egrn_info.sh >> /home/gemsuser/cron_scripts/amethyst/f_amethyst_get_egrn_info.log
  1. Удостоверьтесь, что в файле pg_hba.conf, который находится в папке, где установлен Postgres, добавлена возможность выполнять команды локально от пользователя, указанного в файле скрипта .sh. Для этого скопируйте первую строку и измените postgres на другое имя пользователя базы данных, trust измените на md5.

  2. Проверьте файл логирования на сервере БД после выполнения файла .sh средствами Cron.

В файле логирования должна присутствовать информация выполнения задачи Cron файла .sh без ошибок.

Установка и настройка Grafana для работы с модулем#

  1. Убедитесь в наличии модулей Geometa, Gems.Grafana.Service, Module.Dashboards. Модули уже присутствуют, если вы получили пакет с дистрибутивами для проекта.

  2. Укажите следующие переменные в файле vars.yml.

Название переменной

Значение по умолчанию

Описание переменной

vars.yml:

gvGEMS_GRAFANA_INSTALL_DIR

/opt/GemsGrafana

Директория, в которую будет установлен сервис Grafana

gvGEMS_GRAFANA_CONNECTION_STRING

{{ gvCONNECTION_STRING }}ApplicationName=Amethyst;

Строка подключения к БД Geometa. Данная строка формируется автоматически на основе ранее указанных параметров (используется импорт переменных). Без необходимости не корректируйте значение данной переменной!

gvGEMS_GRAFANA_RUNDIR

/home/{{ ansible_user }}/grafana_tmp/

Директория, в которой будут производиться временные операции

  1. Обновите Основное приложение с помощью тегов install_ias, install_gems_grafana.

  2. Переместите папку dashboards и файл datasources.json (расположенный по пути ..\Подсистемы\Мониторинг взаимодействия с внешними ИС\Для установки\Дашборды) в папку на сервере /opt/GemsGrafana/data.

  3. Перезапустите GemsGrafana командой:

docker-compose down && docker-compose up -d
  1. Добавьте вручную настройки isogd для nginx на сервере по пути /etc/nginx/sites-available:

    6.1. В секцию upstream добавьте новый upstream:

    upstream dashboards {
    server localhost:3000;
    }
    

    6.2. В секцию server добавьте новый location:

    location /dashboards/ {
        proxy_pass http://dashboards;
        proxy_http_version 1.1;
        proxy_hide_header X-Frame-Options;
        add_header  X-Frame-Options "ALLOWALL" always;
        proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        add_header  Access-Control-Allow-Origin $http_origin;           #this mirrors back whatever domain the request came from as authorized, as
        #add_header  "Access-Control-Allow-Credentials" "true";          #as long as it matches one of your if statements
        add_header  "Access-Control-Allow-Methods" "GET, OPTIONS";
        #add_header  "Access-Control-Allow-Headers" "Authorization, origin, accept";
    }
    

    6.3. Сохраните настройки nginx.

    6.4. Перезапустите службу nginx:

    systemctl restart nginx.service
    
  2. Перейдите на веб-интерфейс Grafana https://{GEOMETA_HOST}/dashboards.

  3. Авторизуйтесь под учетной записью admin / Admin123$.

Важно

Пароль менять нельзя! Все завязано на basic-аутентификации, и токен привязан именно к этому сочетанию логина и пароля.

  1. Откройте вкладку Data sources и убедитесь в наличии автоматически созданного подключения gisogd.

  2. Откройте вкладку Dashboards и убедитесь в успешном автоматическом импорте дашбордов.

Настройки Consul для работы с модулем#

  1. Перейдите в Consul по пути Key\Values\Gems.Module.Dashboards и отредактируйте файл настроек Gems.Module.Dashboards.modulesettings.json.

В качестве шаблона файла настроек используйте файл, расположенный по пути ..\Подсистемы\Мониторинг взаимодействия с внешними ИС\Для установки\Для Consul.

Замените в нем адреса стенда на свои.

  1. Сохраните настройки.

Проверка в Geometa#

Перейдите в Geometa в нужный тематический реестр. Например, «Мониторинг интеграций с внешними ИС» → «Актуальность сведений ЕГРН».

Загрузите реестр в панель представления.

В реестре отображаются объекты, полученные в результате выполнения скриптов, а также графики.