Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:triggers:installation:17x_linux [17.09.2024 13:09] – [Требования к ПО на сервере] ekaterina.menkhuzinaproduct:triggers:installation:17x_linux [22.10.2025 04:43] (текущий) – [Подраздел Rebus] ekaterina.menkhuzina
Строка 1: Строка 1:
 ====== Инструкция по развёртыванию модуля Триггеров в Linux: версия 17.Х+ ====== ====== Инструкция по развёртыванию модуля Триггеров в Linux: версия 17.Х+ ======
-<callout type="warning" icon="true"> +''Версия модуля триггеров 17.Х и выше работает только c версией системы ADVANTA 3.23 и выше.'' 
-Версия модуля триггеров 17.Х и выше работает только c версией системы ADVANTA 3.23 и выше.+ 
 +<callout type="warning" icon="true">Перед началом установки модуля триггеров убедитесь, что установка Системы ADVANTA проведена корректно, иначе модуль триггеров не запустится. Информацию об установке Системы можно найти на страницах: 
 +  * [[product:settings:system:install|Установка и настройка системы под Windows]]; 
 +  * [[product:settings:system:install_linux|Установка и настройка системы под Linux]].
 </callout> </callout>
 +
 ===== Требования к ПО на сервере ===== ===== Требования к ПО на сервере =====
  
-  * Операционная система последней стабильной LTS-версии на базе ядра Linux - например, Astra Linux, Red OS, дистрибутивы на базе Debian, Ubuntu, CentOS, Fedora, OpenSUSE, Red Hat и другие производные от них (тестировалось на ОС Ubuntu 22.04.4 LTS)+  * Операционная система последней стабильной LTS-версии на базе ядра Linux - например, [[https://astralinux.ru/os/server-astra/|Astra Linux]], Red OS, дистрибутивы на базе Debian, Ubuntu, CentOS, Fedora, OpenSUSE, Red Hat и другие производные от них (тестировалось на ОС Ubuntu 22.04.4 LTS)
   * Веб-сервер последней стабильной версии - например, Apache, Nginx или аналоги (тестировалось на Nginx 1.18.0)   * Веб-сервер последней стабильной версии - например, Apache, Nginx или аналоги (тестировалось на Nginx 1.18.0)
   * Среда выполнения Dot Net 6.0 с поддержкой ASP.NET Core (для версии модуля Триггеров 17.25 и выше. Для версий до 17.22 включительно достаточно Dot Net 5.0)   * Среда выполнения Dot Net 6.0 с поддержкой ASP.NET Core (для версии модуля Триггеров 17.25 и выше. Для версий до 17.22 включительно достаточно Dot Net 5.0)
Строка 14: Строка 18:
  
 ===== Подготовка сервера к установке модуля триггеров ===== ===== Подготовка сервера к установке модуля триггеров =====
-  * Устанавливаем на сервер Операционную систему на базе Linux +  * Устанавливаем на сервер [[product:settings:system:install_linux|Операционную систему на базе Linux]] 
-  * Устанавливаем выбранную СУБД. Рекомендуется использовать PostgreSQL (из пакетов репозитория выбранной ОС или с официального сайта разработчика). +  * Устанавливаем выбранную СУБД. Рекомендуется использовать [[product:settings:pssql|PostgreSQL]] (из пакетов репозитория выбранной ОС или с официального сайта разработчика). 
   * Устанавливаем Среду выполнения ASP.NET Core 6.0 ([[https://learn.microsoft.com/ru-ru/dotnet/core/install|Документация по вариантам установки]])   * Устанавливаем Среду выполнения ASP.NET Core 6.0 ([[https://learn.microsoft.com/ru-ru/dotnet/core/install|Документация по вариантам установки]])
   * Устанавливаем Веб-сервер (например, Nginx)   * Устанавливаем Веб-сервер (например, Nginx)
  
-**Пример для ОС Ubuntu 22+ ** (необходимые зависимости будут установлены автоматически)+**Пример для ОС Ubuntu 22+ ** (репозитории-источники указанных пакетов должны быть настроены в ОС, необходимые зависимости будут установлены автоматически)
 <code sh> <code sh>
 sudo apt update && \ sudo apt update && \
-  apt install -y postgresql aspnetcore-runtime-6.0 nginx+ sudo apt install -y postgresql aspnetcore-runtime-6.0 nginx
 </code> </code>
  
Строка 43: Строка 47:
   * Данные файлы можно заархивировать и распространять клиентам вместе с данной инструкцией по развертыванию приложения на периферии.      * Данные файлы можно заархивировать и распространять клиентам вместе с данной инструкцией по развертыванию приложения на периферии.   
  
-===== Настройка MSSQL =====+===== Настройка MS SQL =====
   * Открываем SSMS и подключаемся к нашему инстансу MSSQL   * Открываем SSMS и подключаемся к нашему инстансу MSSQL
   * Заходим в глобальную секцию "Безопасность" и добавляем туда объект "Все пользователи, успешно прошедшие аутентификацию"   * Заходим в глобальную секцию "Безопасность" и добавляем туда объект "Все пользователи, успешно прошедшие аутентификацию"
Строка 51: Строка 55:
   * Сохраняем информацию о созданной БД и учетных данных пользователя для использования в строке подключения конфигурационных файлов Модуля триггеры   * Сохраняем информацию о созданной БД и учетных данных пользователя для использования в строке подключения конфигурационных файлов Модуля триггеры
  
-===== Настройка PostgreSql =====+Подробная настройка БД MS SQL представлена на странице [[product:settings:mssql|Настройка базы данных MS SQL]]. 
 +===== Настройка PostgreSQL =====
   * Открываем pgAdmin либо используем режим командной строки ''psql'', запущенной под админом сервера БД   * Открываем pgAdmin либо используем режим командной строки ''psql'', запущенной под админом сервера БД
   * Добавляем пользователя (например, ''CREATE USER user_name WITH PASSWORD 'user_password';'' )   * Добавляем пользователя (например, ''CREATE USER user_name WITH PASSWORD 'user_password';'' )
Строка 59: Строка 64:
   * Сохраняем информацию о созданной БД и учетных данных пользователя для использования в строке подключения конфигурационных файлов Модуля триггеры   * Сохраняем информацию о созданной БД и учетных данных пользователя для использования в строке подключения конфигурационных файлов Модуля триггеры
  
 +Подробная настройка БД PostgreSQL представлена на странице [[product:settings:pssql|Настройка базы данных PostgreSQL]].
 +
 +<callout type="warning" icon="true">При настройке базы данных нужно создать пустую БД и пользователя:
 +<code sql>
 +su - postgres
 +psql
 +CREATE USER user_tr WITH PASSWORD 'P@ssw0rd';
 +CREATE DATABASE db_tr;
 +GRANT ALL PRIVILEGES ON DATABASE db_tr TO user_tr;
 +</code>
 +</callout>
 ====== Развёртывание компонента "Сайт" ====== ====== Развёртывание компонента "Сайт" ======
 Веб-приложение Панели управления триггерами Веб-приложение Панели управления триггерами
Строка 71: Строка 87:
   * Запускаем его командой    * Запускаем его командой 
 <code sh>sudo service nginx start</code> <code sh>sudo service nginx start</code>
-  * Создаем отдельный файл конфигурации ''/etc/nginx/sites-available/advanta_triggers''+  * Создаем отдельный файл конфигурации ''nano/etc/nginx/sites-available/advanta_triggers''
   * Заполняем его следующими данными:   * Заполняем его следующими данными:
  
Строка 210: Строка 226:
              
       "InputQueueName": "bus_triggers_queue", // "Bus_TriggersInputQueue" - для транспорта "MSSQL"       "InputQueueName": "bus_triggers_queue", // "Bus_TriggersInputQueue" - для транспорта "MSSQL"
-      "SubscriptionsTableName": "bus_triggers_input_queue_subscriptions", // "Bus_TriggersInputQueue_Subscriptions" - для транспорта "MSSQL+      "SubscriptionsTableName": "Bus_TriggersInputQueue_Subscriptions" 
-      "PostgreSqlMessagesTableName": "bus_triggers_messages" //используется только для транспорта "PostgreSql"+      "PostgreSqlMessagesTableName": "bus_triggersinputqueue" //используется только для транспорта "PostgreSql"
     }     }
 </code> </code>
Строка 222: Строка 238:
 **InputQueueName** – название очереди сообщений (канала), через которую будут поступать сообщения для данного instans-а. Для транспорта ''%%"MSSQL"%%'' по умолчанию будет ''%%"Bus_TriggersInputQueue"%%'', для ''%%"PostgreSql"%%'' по умолчанию будет ''%%"bus_triggers_queue"%%''. **InputQueueName** – название очереди сообщений (канала), через которую будут поступать сообщения для данного instans-а. Для транспорта ''%%"MSSQL"%%'' по умолчанию будет ''%%"Bus_TriggersInputQueue"%%'', для ''%%"PostgreSql"%%'' по умолчанию будет ''%%"bus_triggers_queue"%%''.
  
-**SubscriptionsTableName** – название таблицы БД, в которую будет размещена информация о подписках. Для ''%%"MSSQL"%%'' по умолчанию будет ''%%"Bus_TriggersInputQueue_Subscriptions"%%'', для ''%%"PostgreSql"%%'' по умолчанию будет ''%%"bus_triggers_input_queue_subscriptions"%%'' (должно совпадать с настройками публикующего сервиса).+**SubscriptionsTableName** – название таблицы БД, в которую будет размещена информация о подписках. По умолчанию будет ''%%"Bus_TriggersInputQueue_Subscriptions"%%''(должно совпадать с настройками публикующего сервиса).
  
-**PostgreSqlMessagesTableName** – название таблицы БД, через которую будет вестись обмен сообщениями в случае ''%%"PostgreSql"%%'' транспорта. По умолчанию будет использоваться ''%%"bus_triggers_messages"%%'' (должно совпадать с настройками публикующего сервиса).+**PostgreSqlMessagesTableName** – название таблицы БД, через которую будет вестись обмен сообщениями в случае ''%%"PostgreSql"%%'' транспорта. По умолчанию будет использоваться ''%%"bus_triggersinputqueue"%%'' (должно совпадать с настройками публикующего сервиса).
 Для ''%%"MSSQL"%%'' этот параметр игнорируется, так как для ''%%"MSSQL"%%'' Rebus автоматически использует (и при необходимости создаёт) таблицу с именем, совпадающим с названием входящей очереди сообщений (**InputQueueName**).\\ Для ''%%"MSSQL"%%'' этот параметр игнорируется, так как для ''%%"MSSQL"%%'' Rebus автоматически использует (и при необходимости создаёт) таблицу с именем, совпадающим с названием входящей очереди сообщений (**InputQueueName**).\\
 \\ \\
Строка 260: Строка 276:
 </code> </code>
 **InstanceName** – наименование запускаемого инстанса модуля Триггеры. Данное наименование добавляется к логам и в тему email-уведомлений. **InstanceName** – наименование запускаемого инстанса модуля Триггеры. Данное наименование добавляется к логам и в тему email-уведомлений.
- \\ + 
-\\+==== Раздел HashiCorpVault: ==== 
 +Данный раздел настраивается только в том случае, если требуется часть конфиденциальных строк получать через [[product:settings:system:vault|HashiCorp Vault]]. 
 + 
 +**Address** – адрес сервера Vault, обязательный параметр. Пример значения: ''https:⁄⁄vault.yourcompany.ru:8200''
 + 
 +**RoleId** – Bдентификатор (GUID) роли, обязательный параметр. Пример значения: "b52f920d-dccf-76ad-e7e0-a2d3eb23abc3"
 + 
 +**SecretId** – Идентификатор (GUID) секрета, обязательный параметр. Пример значения: "cfa2b4f6-4a92-5ec3-5253-acf5a026ddec"
 + 
 +**Version** – версия контейнера. Возможные варианты: "V1" или "V2", обязательный параметр. 
 + 
 +**MountPoint** – точка монтирования контейнера секретов, обязательный параметр. Пример значения: "kv-v2"
 + 
 +**Path** – путь к секретам, обязательный параметр. Пример значения: ''dbPasswords''
 + 
 +Ссылка на секрет в ''Vault'' могут прописываться для любых значений строковых параметров в любых разделах файла конфигурации (кроме раздела HashiCorpVault) в формате: ''{$your_hashicorp_vault_key$}'' 
 ===== Развёртывание "Движка" (Engine) ===== ===== Развёртывание "Движка" (Engine) =====
 Консольное приложение, которое обрабатывает события системы ADVANTA, поступающие в Модуль триггеров через шину данных Rebus Консольное приложение, которое обрабатывает события системы ADVANTA, поступающие в Модуль триггеров через шину данных Rebus
Строка 328: Строка 360:
 ===== Развёртывание "Агента" ===== ===== Развёртывание "Агента" =====
 Приложение для автоматического перезапуска Движка (Engine) модуля триггеров при обновлении связанной с ним системы ADVANTA Приложение для автоматического перезапуска Движка (Engine) модуля триггеров при обновлении связанной с ним системы ADVANTA
-<callout type="danger" title="НЕ ПОДДЕРЖИВАЕТСЯ!" icon="true"> 
-В настоящее время работа компонента **Агент** в ОС Linux не поддерживается.\\ 
-Позже, в очередных версиях Модуля триггеры такая поддержка будет реализована. 
-</callout> 
- 
-<hidden> 
  
 ==== Установка и настройка "Агента" ==== ==== Установка и настройка "Агента" ====
Строка 374: Строка 400:
 Для получения информации по текущему состоянию агента, необходимо в папку агента положить файл “status” без расширения. Содержимое файла не читается. После того как агент обнаружит файл, он сформирует информацию о текущем состоянии движков и создаст или обновит файл output.txt. Информация о статусе так же будет записана в лог. Файл “status” будет автоматически удалён. Для получения информации по текущему состоянию агента, необходимо в папку агента положить файл “status” без расширения. Содержимое файла не читается. После того как агент обнаружит файл, он сформирует информацию о текущем состоянии движков и создаст или обновит файл output.txt. Информация о статусе так же будет записана в лог. Файл “status” будет автоматически удалён.
  
-</hidden> +\\ 
 +\\
 ===== Перечень использованных сторонних компонентов ===== ===== Перечень использованных сторонних компонентов =====