Настройка соединения с брокером сообщений

<< Click to Display Table of Contents >>

Настройка соединения с брокером сообщений

Брокер сообщений — это программа, которая обеспечивает обмен сообщениями между двумя или более приложениями безопасным и надежным образом. Для обмена информацией между ОСА и приложениями КОМПЛЕКСА используется брокер сообщений RabbitMQ. Синхронизация данных между ОСА и приложениями осуществляется через очереди сообщений. Применение очередей сообщений позволяет приложениям оставаться полностью независимыми при выполнении своих индивидуальных задач. Сообщения формируются в ОСА и могут содержать любую информацию, например, о событии, произошедшем в системе. Далее эти сообщения попадают в очередь брокера и временно хранятся там до тех пор, пока принимающее приложение не подключится и не получит их из очереди. Приложение может подтвердить получение сообщения сразу или после того, как полностью обработает его. Как только такое подтверждение получено, сообщение удаляется из очереди.

После стандартной установки и настройки КОМПЛЕКСА для обеспечения возможности синхронизации данных необходимо настроить соединение с брокером сообщений RabbitMQ.

Настройка сервера RabbitMQ

1.Запустите плагин управления RabbitMQ. Для этого выполните следующие действия:

для ОС Windows:

В адресной строке браузера введите: localhost:15672 (при распределенной установке — имя компьютера, на котором установлен брокер сообщений).

Если плагин управления недоступен, то его можно включить следующим образом:

a)Запустите утилиту cmd.exe от имени Администратора и выполните команды:

cd C:\Program Files\RabbitMQ Server\rabbitmq_server-3.12.8\sbin

rabbitmq-plugins.bat enable rabbitmq_management

b)Перезапустите службу RabbitMQ.

для ОС ALT Linux выполните команды:

su -

rabbitmq-plugins enable rabbitmq_management

systemctl enable --now rabbitmq.service

для ОС Astra Linux, РЕД ОС выполните команды:

sudo rabbitmq-plugins enable rabbitmq_management

sudo systemctl enable --now rabbitmq-server

2.Выполните вход в RabbitMQ с учетными данными: имя пользователя/пароль — guest/guest.

note

С учетными данными «guest/guest» можно выполнить вход в RabbitMQ только локально, по адресу http://localhost:15672/. Если авторизация выполняется по адресу http://{имя сервера RabbitMQ}:15672/, то необходимо предварительно создать нового пользователя и настроить для него необходимые разрешения (см. ниже).

3.В окне приложения RabbitMQ на вкладке Admin настройте данные о пользователе.

3.1. Чтобы создать нового пользователя RabbitMQ, выполните следующее:

Выберите пункт Users.

Раскройте секцию Add a user.

В поле Username: введите имя пользователя (логин) для авторизации.

В поле Password: введите пароль.

Для подтверждения пароля введите его повторно в поле ниже.

В поле Tags: введите значение Admin.

Нажмите кнопку Add user.

В результате будет добавлен новый пользователь. Его данные отобразятся в таблице All users.

3.2. Настройте для пользователя разрешения на хост и очереди:

Щелкните мышью по имени пользователя в таблице All users.

Раскройте секцию Permissions.

В поле Virtual host установите символ «/», в остальных полях разрешений — символ «*».

Нажмите кнопку Set permission.

Настройка параметров синхронизации в ОСА

В Редакторе настроек ОСА настройте параметры синхронизации:

1.Укажите данные (сервер, порт, порт API, виртуальный хост) для подключения к брокеру сообщений.

2.Введите учетные данные пользователя (имя и пароль), которому предоставлены разрешения в RabbitMQ.

3.Включите опцию Событийная синхронизация.

Подробнее о настройке параметров синхронизации...

Настройка безопасного соединения с брокером сообщений

Сервер RabbitMQ

1.C помощью утилиты CreateTLS.exe (при установке КОМПЛЕКСА сохраняется в папку ...\COD\Utils) сгенерируйте сертификаты в формате *.pem и укажите имя хоста сервера RabbitMQ в параметрах запуска утилиты.

Подробно работа с утилитой CreateTLS.exe описана в справочной документации Центр управления Комплексом АСКОН.

2.Откройте файл настроек rabbitmq.conf (%AppData%\Roaming\RabbitMQ\rabbitmq.conf в ОС Windows или /etc/rabbitmq/rabbitmq.conf в ОС linux) и отредактируйте его содержимое, указав при этом полные пути (без кавычек) до сгенерированных сертификатов.

Если файл rabbitmq.conf отсутствует, то создайте его вручную.

Пример содержимого файла rabbitmq.conf для ОС Windows:

listeners.ssl.default = 5671

ssl_options.cacertfile = C:\Program Files (x86)\Common Files\ASCON Shared\COD\Utils\certCA.pem

ssl_options.certfile = C:\Program Files (x86)\Common Files\ASCON Shared\COD\Utils\certServer.pem

ssl_options.keyfile = C:\Program Files (x86)\Common Files\ASCON Shared\COD\Utils\keyServer.pem

ssl_options.verify = verify_peer

ssl_options.fail_if_no_peer_cert = true

ssl_options.password = MySecretPassword

3.Сохраните настройки, перезапустив сервер RabbitMQ.

Сервер ОСА

1.В Редакторе настроек ОСА включите опцию Безопасное соединение.

2.Сохраните файл certClient.p12, полученный при генерации утилитой, в папку .../certificates/rabbitmq на сервере ОСА.

3.Укажите путь к файлу сертификата в поле Сертификат клиента в.

4.В поле Сервер введите имя хоста, которое было указано в параметрах запуска утилиты генерации сертификатов.

5.В поле Порт введите значение из файла rabbitmq.conf.

6.Если в процессе генерации сертификата для него был задан пароль, то укажите его в соответствующем поле Редактора настроек.

7.Сохраните настройки сервера ОСА.

8.Установите корневой сертификат certCA.pem на сервер ОСА.

Подробнее о регистрации корневых сертификатов в ОС Linux...

Если при подключении брокера сообщений возникли ошибки, то на инструментальной панели Консоли управления ОСА отобразятся предупреждения с описанием этих ошибок.

note

Проблемы соединения с брокером сообщений можно отследить в логе службы ОСА. Для этого необходимо вручную запустить службу ОСА.