| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| product:triggers:installation:17x_linux [18.09.2024 08:33] – [Настройка PostgreSQL] ekaterina.menkhuzina | product:triggers:installation:17x_linux [22.10.2025 04:43] (текущий) – [Подраздел Rebus] ekaterina.menkhuzina |
|---|
| ====== Инструкция по развёртыванию модуля Триггеров в 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> |
| | |
| ===== Требования к ПО на сервере ===== | ===== Требования к ПО на сервере ===== |
| |
| * Устанавливаем Веб-сервер (например, 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> |
| |
| * Запускаем его командой | * Запускаем его командой |
| <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'' |
| * Заполняем его следующими данными: | * Заполняем его следующими данными: |
| |
| | |
| "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> |
| **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**).\\ |
| \\ | \\ |
| </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 |
| ===== Развёртывание "Агента" ===== | ===== Развёртывание "Агента" ===== |
| Приложение для автоматического перезапуска Движка (Engine) модуля триггеров при обновлении связанной с ним системы ADVANTA | Приложение для автоматического перезапуска Движка (Engine) модуля триггеров при обновлении связанной с ним системы ADVANTA |
| <callout type="danger" title="НЕ ПОДДЕРЖИВАЕТСЯ!" icon="true"> | |
| В настоящее время работа компонента **Агент** в ОС Linux не поддерживается.\\ | |
| Позже, в очередных версиях Модуля триггеры такая поддержка будет реализована. | |
| </callout> | |
| |
| <hidden> | |
| |
| ==== Установка и настройка "Агента" ==== | ==== Установка и настройка "Агента" ==== |
| Для получения информации по текущему состоянию агента, необходимо в папку агента положить файл “status” без расширения. Содержимое файла не читается. После того как агент обнаружит файл, он сформирует информацию о текущем состоянии движков и создаст или обновит файл output.txt. Информация о статусе так же будет записана в лог. Файл “status” будет автоматически удалён. | Для получения информации по текущему состоянию агента, необходимо в папку агента положить файл “status” без расширения. Содержимое файла не читается. После того как агент обнаружит файл, он сформирует информацию о текущем состоянии движков и создаст или обновит файл output.txt. Информация о статусе так же будет записана в лог. Файл “status” будет автоматически удалён. |
| |
| </hidden> | \\ |
| | \\ |
| ===== Перечень использованных сторонних компонентов ===== | ===== Перечень использованных сторонних компонентов ===== |
| |