Возможные проблемы#

После установки Docker и Docker-compose потеряно соединение с сервисами СМЭВ#

Если установлены только средства поддержки Docker и Docker-compose#

Чтобы восстановить соединение со СМЭВ выполните команду:

systemctl stop docker && grep -q "default-address-pools" /etc/docker/daemon.json || sed -i "/data-root/i \ \"default-address-pools\"\:\n \[\n {\"base\"\: \"172\.100\.0\.0\/16\"\,\"size\"\:24\}\n \]," /etc/docker/daemon.json && systemctl start docker

Если установка приложения ГИСОГД выполнена полностью#

Для восстановления соединения со СМЭВ:

  1. перейдите в директорию, где установлено приложение ГИСОГД, например /home/user/install/diamond

  2. выполните команду для остановки приложения ГИСОГД:

    docker-compose -f docker-compose.init.yml down --remove-orphans
    
  3. выполните поочередно команды:

    сначала

    docker-compose down --remove-orphans
    

    а затем

    systemctl stop docker && grep -q "default-address-pools" /etc/docker/daemon.json || sed -i "/data-root/i \ \"default-address-pools\"\:\n \[\n {\"base\"\: \"172\.100\.0\.0\/16\"\,\"size\"\:24\}\n \]," /etc/docker/daemon.json && systemctl start docker
    
  4. запустите приложение ГИСОГД:

    docker-compose up -d
    

Как использовать подложку для контура территории действия на сервере без интернета#

Для предпросмотра контура территории действия размещаемых в ГИСОГД данных по умолчанию используется подложка OSM (URL в файле конфига – https://a.tile.openstreetmap.org/). Работать она будет только там, где с сервера есть доступ в интернет. Если же на сервере, где установлено приложение ГИСОГД, нет доступа в интернет, а подложку для предпросмотра контура видеть хочется, то можно использовать опубликованные на Geoserver слои.

Для отображения контура территории действия при размещении данных в ГИСОГД по умолчанию используется подложка OSM. Эта подложка отображается только при наличии интернета на сервере.

Если на сервере, на котором установлено приложение ГИСОГД, нет интернета, то в качестве подложки можно использовать опубликованные на Geoserver слои.

Подсказка

  • Отображение на карте предпросмотра будет работать только для кэшированных слоев

  • В конфигурационном файле можно прописать только один URL слоя, который будет отображен в качестве подложки на карте предпросмотра. Поэтому, чтобы пользователи каждого МО могли иметь возможность предпросмотра контура, необходимо предварительно собрать и опубликовать на одном из геосерверов группу слоев (как TMS-слой), покрывающих территорию всего региона

URL для подложки прописывается в файле /nginx/default.conf в параметре location /backgroundlayer/:

location /backgroundlayer/ {
    proxy_pass          https://a.tile.openstreetmap.org/;
}

Как размещать документ «Продление срока действия РС»#

Продление срока действия разрешения на строительство – это результат услуги по внесению изменений в РС, для которого отдельного типа документа в разрешительной документации не предусмотрено. Однако в Системе он реализован как отедельный тип, который еще и участвует во многих интеграциях с порталами услуг.

В связи с этим, работа с документом продления РС в ГИСОГД построена следующим образом:

  1. В ГИСОГД при размещении документа изменения в РС в связи с продлением, создается один тип – «Изменение в разрешение на строительство» (код по классификатору 13.06) с отдельной отметкой о том, что изменения вносится в связи с продлением срока

  2. В Системе такой документ после размещения в ГИСОГД всегда раскладывается в тип DocIZ со значением в поле [Вид документа] – «Изменения в разрешение на строительство»

  3. В DocIZ для продления дополнительно будет заполняться секция «Продление срока действия РС». Это относится как к автоматическому, так и к ручному вводу. Поля секции взяты из документа «Продление»

  4. В рамках интеграционных взаимодействий пока все остается как есть: автоматически (там, где это реализовано) создается отдельный тип документа продления, в рамках которого оказывается услуга. Этот же документ можно будет отправить на размещение в ГИСОГД.

  5. Для пользователя пока остается возможность создавать как отдельный тип продления, так и вносить по нему данные в тип DocIZ. В любом случае, каждый из них нужно отправлять на размещение в ГИСОГД. При этом в ГИСОГД они будут всегда ложиться в один тип – «Изменение в разрешение на строительство» (код по классификатору 13.06).

../../../_images/change_rs1.png

В дальнейшем планируется уходить от отдельного типа документа «Продление». Поэтому имеет смысл рекомендовать пользователям привыкать к ведению данных о продлении срока действия РС в виде документа изменения (DocIZ)

Обратите внимание

  • Отчеты. Везде, где вытягиваются данные из документа продления, будет получаться недостоверная информация, т.к. завязка идет на тип и поля документа продления

  • Карты строек. В них также отражается информация о продлении срока действия РС. Аналогичная проблема, как и с отчетами

Отсутствуют права на работу в ГИСОГД#

Если после авторизации в приложении ГИСОГД отображается страница:

../../../_images/no_rules1.png

То она указывает на то, что для учетной записи, под которой произведен вход в приложение ГИСОГД, не назначена ни одна из возможных ролей armGISOGDRegistry или armGISOGDRead ни в одной из схем проекта.

В приложении отсутствует проект, на который назначена роль#

В таком случае нужно проверить, что для проекта указан код ОКТМО в БД ГИСОГД в таблице gisogd_schema.GeometaProjects. Если ОКТМО в таблице отстутствует, его необходимо указать.

ОКТМО в таблице может отсутствовать из-за того, что после запуска команд docker-compose -f docker-compose.init.yml down и docker-compose -f docker-compose.init.yml up значение ОКТМО некоторых проектов затирается.

После добавления ОКТМО перезапустите приложение ГИСОГД

Ошибка при попытке скачать прикрепленный к документу файл в Системе#

Если при попытке скачать файл, прикрепленный к документу, вы видите текст «File [наименование скачиваемого файла] not found», это значит, что Система настроена на хранение файлов в базе данных. Нужно настроить в конфигураторе Системы хранение файлов в файловом хранилище и повторить попытку скачать файл

Документ, размещенный в ГИСОГД через приложение, не отображается в каталоге ГИСОГД в Системе#

Информация об объектах, которые не были отправлены в Систему, хранится в таблице БД gisogd_schema.UnprocessedBusMessages.

Чтобы документ отобразился в каталоге ГИСОГД в Системе:

  1. Откройте ссылку http://172.23.2.100:15673, где 172.23.2.100 - это Ip – сервер приложения ГИСОГД, 15673- порт, по которому доступен UI RabbitMQ из параметра RABBITMQ_PUBLIC_WEB_PORT. Посмотреть данную информацию можно в .env файле приложения ГИСОГД

  2. Откроется стартовая страница RabbitMQ. Введите логин и пароль от учетной записи, указанные в файле .env в параметрах RABBITMQ_DEFAULT_USER=, RABBITMQ_DEFAULT_PASS= и нажмите Login

  3. Перейдите на вкладку Queues

../../../_images/rabbit1.png
  1. Найдите значение в колонке QueueName в таблице БД gisogd_schema.UnprocessedBusMessages для документа, который нужно отобразить в Системе

  2. Перейдите в RabbitMQ и в столбце Name откройте блок с наименованием из п.4

  3. Скопируйте информацию из поля MessageBody в таблице БД gisogd_schema.UnprocessedBusMessages для нужного документа и вставьте ее в поле Payload на вкладке Queues в RabbitMQ

../../../_images/rabbit2.png
  1. Нажмите кнопку Publish message

  2. Перейдите в Систему и проверьте наличие документа в соответствующем разделе

При открытии возникает ошибка «IDX20803: Unable to obtain configuration from: „[PII is hidden. For more details, see https://aka.ms/IdentityModel/PII.]“»#

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

Другое решение: уберите в nginx параметр размера буфера заголовка запроса client_header_buffer_size 16000m

Ошибка «None of the specified endpoints were reachable» и ACCESS_REFUSED в логах Diamond-a#

При обновлении приложения на версию 5.20 и выше, могут возникать проблемы с доступом приложения к RabbitMQ, расположенному в контейнерах Diamond.

Обнаружить ошибку можно:

  • По записи:

    RabbitMQ.Client.Exceptions.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
    
  • В логах в файле:

    /var/log/gems/diamond-app/diamond-ГГ-ММ-ДД.log
    

Для устранения проблемы:

  1. Скачайте и разархивируйте файл.

  2. Скопируйте папку diamond_rabbitmq-db-data из архива на сервер.

  3. Остановите контейнеры приложения Diamond выполнив команды:

    1. cd /путь/до/приложения/diamond
      

    Обычно, это cd/opt/diamond

    1. docker-compose down
      
  4. Узнайте, где располагается база RabbitMQ контейнера Diamond, выполнив команду:

    docker volume inspect diamond_rabbitmq-db-data
    

    Затем из полученного вывода, представленного в виде:

    [
     {
     "CreatedAt": "2022-04-08T15:08:54+06:00",
     "Driver": "local",
     "Labels": {},
     "Mountpoint": "/opt/docker/volumes/diamond_rabbitmq-db-data/_data",
     "Name": "diamond_rabbitmq-db-data",
     "Options": {},
     "Scope": "local"
     }
    ]
    

    Скопируйте путь из «Mountpoint» /opt/docker/volumes/diamond_rabbitmq-db-data/_data без окончания _data.

    Пример: /opt/docker/volumes/diamond_rabbitmq-db-data

  5. Выполните команду:

    cp -fr <путь до папки из п.2> <скопированный путь из п.4>
    

    Пример: cp -fr /home/user/diamond_rabbitmq-db-data /opt/docker/volumes/diamond_rabbitmq-db-data

  6. Запустите контейнеры приложения Diamond командами:

    1. cd /путь/до/приложения/diamond
      

    Обычно, это cd/opt/diamond

    1. docker-compose up -d
      

Отображаются реплицированные объекты#

Для конфигурирования отображения реплицированных объектов того или иного типа существует флаг IncludeReplicatedObjects. Если флаг имеет значение true, то при поиске и выдаче объектов реплицированные объекты будут учтены. Если флаг имеет значение false, то реплицированные объекты в выдаче не будут учтены и будут отображены только объекты конкретного проекта.

Флаг расположен в файле конфигурации сопоставления типов в модуле Gems.Module.Diamond.Integration.

Например, чтобы отключить отображение реплицированных земельных участков при выборе контура территории действия по кадастровому номеру, необходимо открыть файл Gems.Module.Diamond.Integration/Configuration/Geometry/knSearchTypes.json и изменить значение флага на false.

{
  "Types": [
    {
      "GeoViewAlias": "GeoGknParcel",
      "SearchFieldAlias": "KN",
      "IncludeReplicatedObjects": true
    }
  ]
}