Настройка окружения#

Настройки административного сервера, с которого производится установка#

  1. Установить пакеты: java, unzip, ansible, ssh-клиент, библиотека lxml python (присутствует в дистрибутиве SMBX).

  2. Создать JKS хранилище с сертификатом, подписанным УЦ, доверенным для всех клиентов.

Настройка серверов Artemis MQ#

  1. Установить пакеты: java, unzip, ssh-server.

  2. Для увеличения отказоусточивости компонента SMBX рекомендуется изменить сетевые настройки ядра Linux. Для этого в файл /etc/sysctl.conf занести настройки:

net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_keepalive_time=60
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_keepalive_intvl=1
net.ipv4.tcp_retries2=3

, где:

  • tcp_syn_retries - количество попыток передачи SYN-пакета при установлении нового соединения.

  • tcp_synack_retries - количество попыток передачи SYN, ACK-пакета в ответ на SYN-запрос. Другими словами, максимальное число попыток установить пассивное TCP-соединение, инициированное другим хостом.

  • tcp_keepalive_time - переменная определяет, как часто, в секундах, следует проверять соединение, если оно давно не используется.

  • tcp_keepalive_probes - переменная определяет количество попыток проверки жизнеспособности прежде, чем будет принято решении о разрыве соединения.

  • tcp_keepalive_intvl - переменная определяет интервал, в секундах, проверки жизнеспособность сокета. Это значение учитывается при подсчете времени, которое должно пройти перед тем как соединение будет разорвано.

  • tcp_retries2 - максимальное количество попыток повторной передачи пакетов, до того, как соединение будет считаться разорванным.

Применить данные настройки командой:

sysctl --system
  1. Создать пользователя artemis, например, командой:

useradd artemis

Настроить для него пароль, например, командой:

passwd artemis
  1. Выдать пользователю artemis права sudoedit для создания сервисов и права для управления сервисами, например, записав в файл /etc/sudoers.d/artemis, настройки:

artemis ALL= NOPASSWD: /bin/systemctl start artemis
artemis ALL= NOPASSWD: /bin/systemctl stop artemis
artemis ALL= NOPASSWD: /bin/systemctl status artemis
artemis ALL= NOPASSWD: /bin/systemctl restart artemis
artemis ALL= NOPASSWD: /bin/systemctl enable artemis
artemis ALL= NOPASSWD: /bin/systemctl disable artemis
artemis ALL= NOPASSWD: /bin/systemctl daemon-reload
artemis ALL= NOPASSWD: /bin/sudoedit /etc/systemd/system/artemis.service
  1. Увеличить лимит дескрипторов для пользователя artemis. В файле /etc/security/limits.conf для пользователя artemis прописать:

nofile 128000
nproc 16384
  1. Создать разделы на диске:

  • /opt/Apache/artemis - 10Гб, владелец artemis;

  • /artemis-data/ - от 100Гб, владелец artemis (объем зависит от нагрузки, рассчитывается предварительно).

  • /logs/ - от 100Мб, владелец artemis.

  1. Дополнительно проверить, что:

  • Узлы SMBX обязательно проверить на возможность подключения на порт 61616 иных узлов продукта SMBX.

  • Обеспечено разрешение имен хостов по IP в рамках всех хостов SMBX (DNS или записи в /etc/hosts).

Установка с помощью Jenkins#

В случае установки SMBX с помощью Jenkins, установка запускается с третьих серверов, на которых должны выполняться требования:

  • наличие доступа к Jenkins для пользователей:

    • пользователь, который создает Jenkins Job. Должны быть выданы права на создание задания Jenkins.

    • пользователь, который запускает Jenkins Job (в том числе запускает установку). Должны быть выданы права на запуск задания Jenkins. Как создать Jenkins Job описано в разделе Создание Jenkins Job для автоматической установки. Установка с помощью Jenkins описана в разделе Установка при помощи Jenkins

  • сетевая доступность узлов сервиса SMBX для вызова со стороны Jenkins;

  • наличие доступа в Git, в котором создан проект для ролей ansible и скриптов развертывания, а также выданы права на чтение для учетных данных, указанных в настройках задания Jenkins;

  • наличие доступ в Nexus, в который помещен дистрибутив SMBX, а также выданы права на чтение для учетных данных, указанных в настройках задания Jenkins.

Настройка логирования в централизованную систему журналирования#

При использовании логирования в централизованную систему журналирования (например Platform V Monitor), дополнительно:

  • Необходимо узнать названия топика централизованной системы журналирования, куда будут отправляться логи SMBX.

  • Перед установкой (переустановкой) новой версии SMBX заполнить параметры в конфигурационном файле vars.yml (подробнее см. раздел Настройка inventory)

  • Указать настройки отправляемых сообщений в файле logback.xml.