Перейти к основному контенту

Ручная установка wiSLA 5 CE

Если ваш дистрибутив не входит в список поддерживаемых программой предварительной настройки, вы можете выполнить ручную настройку системы, следуя шагам, описанным в данной инструкции.

Пакеты для оффлайн установки:

Настройка ОС

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

1. Загрузка файлов на сервер 

Загрузите архив wisla-ce.tar в домашний каталог текущего пользователя на вашем сервере с помощью утилиты scp или любым другим альтернативным способом, например с помощью SFTP.

Затем распакуйте архив wisla-ce.tar с инсталлятором и программой предварительной настройки:

tar -xvf wisla-ce.tar

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

rm -f preparing-os.start preparing.tar
2. Настройка имени узла

Для корректной работы инсталлятора wiSLA 5 CE необходимо скорректировать запись в файлe /etc/hosts, обычно имя узла ссылается на 127.0.1.1 из-за чего может возникнуть ошибка.

Проверьте список сетевых адресов вашего сервера выполнив такую команду:

ip -o -4 addr show | grep -v '^.* lo ' | awk '{print $4}' | cut -d/ -f1

Скопируйте нужный IP-адрес и откройте файл /etc/hosts в привилегированном режиме с помощью любого текстового редактора.

sudo editor /etc/hosts

В открывшемся файле необходимо изменить запись в строке с именем сервера, в данном примере структура файла /etc/hosts выглядит следующим образом:

127.0.0.1       localhost
192.168.159.136 wisla

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Здесь нас интересует данная строка:

192.168.159.136 wisla
  • где 192.168.159.136 — сетевой адрес вашего сервера (IP-адрес), а wisla — имя узла (hostname).

Если вы решили изменить имя узла на другое не забудьте обновить запись в /etc/hostname!

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

Если сетевые настройки на вашем сервере были получены по DHCP, в будущем могут возникнуть проблемы при изменении IP-адреса сервера, так как инсталлятор будет ссылаться на записи в файле /etc/hosts, который останется без изменений. Рекомендуется использовать статический IP-адрес на сетевом интерфейсе сервера.

В файле /etc/hosts имя узла должно соответствовать IP-адресу, отличному от 127.0.0.1 и 127.0.1.1.

3. Создание сервисной учётной записи

Если на вашем сервере присутствует только учётная запись суперпользователя root, тогда вам необходимо создать сервисную учётную запись для работы с системой. В данном примере будет создана учётная запись wisla:

sudo useradd -d /home/wisla -m wisla && sudo passwd wisla

В терминале сервера появится запрос на ввод пароля, задайте надёжный пароль для сервисной учётной записи.

4. Изменение привилегий для сервисной учётной записи

Чтобы все сервисы WiSLA работали корректно необходимо предоставить сервисной учётной записи привилегированный доступ без запроса пароля: 

echo "wisla    ALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/wisla > /dev/null

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

5. Создайте подкаталог /opt/wisla5

Для хранения файлов системы wiSLA необходимо создать подкаталог /opt/wisla5, сделать это можно такой командой:

sudo mkdir -p /opt/wisla5 && sudo chown -R wisla:wisla /opt/wisla5

6. Установка зависимостей

В зависимости от операционной системы на вашем сервере список необходимых пакетов может отличаться, нажмите на соответствующий блок для получения информации.

RedOS
С доступом к сети или внутреннему репозиторию:
sudo yum install ntp lzo dialog rsync uuid zip unzip wget tar python3 fontconfig curl pv uuid python3-paramiko

Без доступа к сети:

#Копируем архив на хост удобным способом

# Разархивируем 
unzip redos.zip
cd redos

# Устанавливаем
#Все по очереди:
for i in $(ls *.rpm) 
do
  rpm -i $i || exit
done
#Вручную:
rpm -i libtomcrypt-1.18.2-1.el7.x86_64.rpm libtommath-1.2.0-3.el7.x86_64.rpm dialog-1.3-14.20171209.el7.x86_64.rpm pv-1.6.6-1.x86_64.rpm uuid-1.6.2-26.el7.x86_64.rpm
rpm -i python3-pynacl-1.5.0-1.el7.x86_64.rpm python3-bcrypt-3.2.2-1.el7.x86_64.rpm python3-paramiko-3.2.0-1.el7.noarch.rpm

 

CentOS
С доступом к сети:
sudo yum install ntp lzo dialog rsync uuid zip unzip wget tar python3 fontconfig curl
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
python3 -m pip install --upgrade pip
pip install paramiko
sudo rpm -i http://www.ivarch.com/programs/rpms/pv-1.6.6-1.x86_64.rpm
Без доступа к сети:
#Копируем архив на хост удобным способом

# Разархивируем 
unzip centos.zip
cd centos-pgks

# Устанавливаем
#Все по очереди:
for i in $(ls *.rpm) 
do
  rpm -i $i || exit
done
#Вручную:
rpm -i wget-1.14-18.el7_6.1.x86_64.rpm
rpm -i uuid-1.6.2-26.el7.x86_64.rpm
rpm -i rsync-3.1.2-10.el7.x86_64.rpm
rpm -i python-crypto-2.6.1-1.el7.centos.x86_64.rpm
rpm -i python-paramiko-2.1.1-9.el7.noarch.rpm
rpm -i pv-1.6.6-1.x86_64.rpm
rpm -i dialog-1.2-5.20130523.el7.x86_64.rpm

# Возможно потребуется установить дополнительные пакеты из этого архива

 

Debian и Ubuntu
sudo apt install -y ntp pv liblzo2-2 dialog rsync uuid zip unzip wget tar python3 python3-paramiko fontconfig curl language-pack-ru

 

Astra Linux 1.7
С доступом к сети:
sudo apt install -y ntp liblzo2-2 dialog rsync zip unzip wget tar python3 python3-paramiko fontconfig curl

Обратите внимание!
В репозиториях Astra Linux нет пакетов pv, paramiko и uuid, поэтому их необходимо установить из исходников используя .deb-пакеты.
Следуйте приведённой ниже инструкции в секции "Без доступа к сети".

Без доступа к сети:
unzip astra.zip
cd astra-pkgs
#Все по очереди:
ls *.deb > /tmp/packages.list && sudo dpkg -i $(cat /tmp/packages.list) && rm -rf /tmp/packages.list
#Вручную:
sudo dpkg -i pv_1.6.6-1_amd64.deb
sudo dpkg -i rsync_3.1.3-6+ci202302061937+astra1_amd64.deb
sudo dpkg -i libossp-uuid16_1.6.2-1.5+b4_amd64.deb
sudo dpkg -i uuid_1.6.2-1.5+b4_amd64.deb
sudo dpkg -i wget_1.20.1-1.1_amd64.deb
sudo dpkg -i python3-paramiko_2.6.0-1~bpo10+1_all.deb
sudo dpkg -i python3-*
sudo dpkg -i dialog_1.3-20190211-1_amd64.deb
Astra Linux 1.8
С доступом к сети:
sudo apt install -y rsync libossp-uuid16 uuid wget python3 python3-paramiko dialog dialog fontconfig liblzo2-2 python3-asn1crypto python3-bcrypt python3-cffi-backend python3-cryptography python3-nacl rsync unzip zip

Обратите внимание!
В репозиториях Astra Linux нет пакета pv, поэтому его необходимо установить из исходников используя .deb-пакет.
Следуйте приведённой ниже инструкции в секции "Без доступа к сети".

Без доступа к сети:
unzip astra.zip
cd astra-pkgs
#Все по очереди:
ls *.deb > /tmp/packages.list && sudo dpkg -i $(cat /tmp/packages.list) && rm -rf /tmp/packages.list
#Вручную:
sudo dpkg -i pv_1.6.6-1_amd64.deb
sudo dpkg -i rsync_3.1.3-6+ci202302061937+astra1_amd64.deb
sudo dpkg -i libossp-uuid16_1.6.2-1.5+b4_amd64.deb
sudo dpkg -i uuid_1.6.2-1.5+b4_amd64.deb
sudo dpkg -i wget_1.20.1-1.1_amd64.deb
sudo dpkg -i python3-paramiko_2.6.0-1~bpo10+1_all.deb
sudo dpkg -i python3-*
sudo dpkg -i dialog_1.3-20190211-1_amd64.deb

Ручная установка пакета pv:

sudo dpkg -i pv_1.6.6-1_amd64.deb
Alt Linux (Simply Linux)
С доступом к сети:
sudo apt-get install -y ntp pv dialog rsync zip unzip wget tar python3 fontconfig curl python3-module-paramiko ossp-uuid

В ходе тестирования было замечено, что для установки WiSLA в altLinux необходимо подключаться по ssh, либо используйте sudo su $(whoami)), иначе будет возникать окно с авторизацией. Также необходимо увеличить размер /tmp в /etc/fstab, добавьте через запятую size=4G (4G указаны в качестве примера) и mount -o remountrw /tmp.

 

7. Установить python3 по умолчанию

Укажите системе использовать python3 в качестве основной версии:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1

8. Настройка правил фильтрации

В зависимости от операционной системы на вашем сервере стандартные утилиты для управления сетевым фильтром будут отличаться, нажмите на соответствующий блок для получения информации.

Debian, Ubuntu и Astra Linux
Правила для UFW:
sudo ufw allow 8080/tcp
CentOS
Правила для firewalld:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload

9. Настройка лимитов

Выполните команду ниже или создайте файл вручную как указано на примере ниже:

sudo tee /etc/security/limits.d/wisla > /dev/null << 'EOF'
wisla   soft    nofile  32768
wisla   hard    nofile  32768
wisla   soft    nproc   32768
wisla   hard    nproc   32768
EOF

10. Настройка локали

В зависимости от операционной системы на вашем сервере набор команд может отличаться, нажмите на соответствующий блок для получения информации.

Debian
Выполните команды приведённые ниже:
sudo locale-gen ru_RU.UTF-8
sudo dpkg-reconfigure locales
Затем заново авторизуйтесь на сервере. 
Ubuntu
Выполните команды приведённые ниже:
sudo apt install -y locales
sudo sed -i 's|# ru_RU.UTF-8 UTF-8|ru_RU.UTF-8 UTF-8|g' /etc/locale.gen
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
sudo update-locale
localectl set-locale LANG=ru_RU.UTF-8
Затем заново авторизуйтесь на сервере. 
CentOS
Выполните команды приведённые ниже:
sudo dnf install glibc-locale-source glibc-langpack-ru 
sudo localectl set-locale LANG=ru_RU.UTF-8
Затем заново авторизуйтесь на сервере. 

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

Перед запуском программы установки следует выполнить команду locale и убедиться, что активна ru_RU.UTF-8. При возникновении проблем необходимо обратиться к документации по дистрибутиву для установки нужной локали. Также следует проверить вывод timedatectl, часовой пояс должен иметь буквенное обозначение вместо n/a.

11. Настройка беспарольного подключения

Инсталлятор wiSLA использует протокол SSH для работы с компонентами и обновления конфигурации системы, потому важно настроить беспарольный доступ для ранее созданного пользователя wisla.

Переключитесь на ранее созданную сервисную учётную запись wisla.

su -l wisla

После переключения на учётную запись wisla проверьте, чтобы вы находились в домашнем каталоге /home/wisla.

pwd

Затем сгенерируйте SSH-ключ без пароля для пользователя wisla:

ssh-keygen -P ""

Сгенерировав SSH-ключ скопируйте его на ваш сервер используя утилиту ssh-copy-id как показано на примере ниже.

ssh-copy-id wisla@$(hostname)
ssh-copy-id wisla@localhost

Затем проверьте беспарольный доступ по SSH, если система запросит пароль удалите все ключи для пользователя wisla и повторите настройку заново.

# Проверьте работу аутентификации по ключам
ssh $username@$(hostname) exit
ssh $username@localhost exit

Информация

Если система запрашивает пароль для подключения, тогда требуется провести анализ для установления точной причины данного поведения. Если данный шаг проигнорировать, тогда в процессе установки будут происходить многократные запросы пароля. Возможной причиной может быть неразрешённый тип ключа или несоответствие имени сервера в /etc/hosts и записью в /etc/hostname.

12. Дополнительные настройки для Astra Linux и RHEL-подобных систем
Astra Linux

1. Настройка автозагрузки wiSLA 5 CE

В некоторых сценариях Astra Linux не создаёт systemd-юнит для автозапуска wiSLA, потому его необходимо создать вручную:

sudo tee /etc/systemd/system/wisla.service > /dev/null << 'EOF'
[Unit]
Description=Starts JBoss process with wiSLA 5 system
After=network-online.target
Requires=network-online.target

[Service]
Type=forking
RemainAfterExit=true
WorkingDirectory=/opt/wisla5
ExecStart=/opt/wisla5/scripts/wisla5.sh start
ExecStop=/opt/wisla5/scripts/wisla5.sh stop

[Install]
WantedBy=multi-user.target
EOF

Затем перечитайте конфигурацию демонов и добавьте wisla.service в автозагрузку:

sudo systemctl daemon-reload && sudo systemctl enable wisla.service

2. Отключение опции KillUserProcesses

Чтобы система не убивала процессы системы мониторинга wiSLA убедитесь, что опция KillUserProcesses выключена.

Отключить данную опцию можно выполнив такую команду:

sudo sed -i 's/#KillUserProcesses=yes/KillUserProcesses=no/g' /etc/systemd/logind.conf

Чтобы применить изменения выполните перезагрузку сервера:

sudo reboot

После перезагрузки сервера повторно подключитесь к нему по SSH, чтобы продолжить настройку.

RHEL-подобные дистрибутивы

Чтобы система не блокировала возможность записи в файлы журналов и не ломала работу файловой системы HDFS обязательно переключите SELinux в режим Permissive или отключите его полностью.

Откройте файл конфигурации в любом текстовом редакторе:

sudo editor /etc/selinux/config

И задайте нужное значение в строке с опцией SELINUX:

SELINUX=permissive

Чтобы не перезагружать сервер временно отключите SELinux:

sudo setenforce 0
13. Запуск инсталлятора wiSLA 5 CE

Переместите файл инсталлятора wisla-5.2.10-2505210735.run из домашнего каталога пользователя, под которым производилась загрузка архива wisla-ce.tar в каталог сервисной учётной записи wisla.

Например, если вы загрузили файлы на сервер под учётной записью пользователя myuser, тогда вам необходимо выполнить такую команду:

sudo mv ../myuser/wisla-5.2.10-2505210735.run /home/wisla

Дождитесь завершения перемещения инсталлятора, затем добавьте права на исполнение:

    sudo chmod +x ./wisla-5.2.10-2505210735.run 

    Далее можно запустить инсталлятор wiSLA 5 CE и перейти к процессу установки системы.