Обобщенная архитектура ПО LOYA
Подготовка окружения для системы
Для работы приложений LOYA необходимо подготовленное окружение на операционной системе Ubuntu18.04.03LTS.
Для подготовки необходимого окружения нужен хост с установленной операционной системой Ubuntu18.04.03LTS.
Если планируется использовать отдельный диск под DB, то желательно просто подключить дополнительный диск к хосту, не проводя никаких дополнительных настроек по монтированию. Можно использовать уже настроенные разделы, но они должны быть настроены согласно следующим требованиям: раздел для DB должен быть смонтирован в /mnt/lvloyadb/, раздел для Backup должен быть смонтирован в /mnt/lvloyabackup/.
Для подготовки окружения необходимо соблюдение следующих условий:
- Наличие ОС Ubuntu18.04 LTS, установленной на lvm-раздел. Имя пользователя желательно установить как loya с правами sudo, но не обязательно: главное – наличие sudo. Наличие дисков при необходимости, нужно четко знать и понимать, какой диск под какие данные предполагается использовать.
- Наличие SSH-подключения к подготавливаемому хосту.
- Наличие интернета (необходим для установки Java, MySQL, Telegraf, Elasticsearch, ClickHouse, htop, mc, logtop, ntp, и т.п.).
Скрипт настройки окружения необходимо запросить у представителя ПО.
Для настройки окружения нужен скрипт prepare_os.sh. Его необходимо скачать из репозитория и скопировать удобным способом на хост, на котором необходимо подготовить окружение.
Перед запуском разрешить права на исполнение:
chmod +x prepare_os.sh
Проверить доступность обновлений:
apt-get update
Далее, запускаем сам скрипт с набором необходимых параметров:
Пример запуска скрипта подготовки окружения для локальной сети нашей компании с тестовой лицензией, где все устанавливается на один диск, с названием хоста для мониторинга test_host_prepareos (имя test_host_prepareos будет также добавлено в hostname):
./prepare_os.sh 0 0 0 0 test_host_prepareos
Пример запуска скрипта подготовки окружения для хоста, на котором будет только процессинг в локальной сети нашей компании, с названием хоста для мониторинга test_host_prepareos:
./prepare_os.sh 0 3 0 0 test_host_prepareos
Параметры запуска скрипта:
./prepare_os.sh $1 $2 $3 $4 $5
$1 =
0 Все сервисы Loya на одном хосте
2 Backend, Api, MySQL, Sphinx, Elastic
3 Processing
$2 =
0 Все на одном root разделе
1 В наличии отдельный hdd под DB
3 В наличии отдельные hdd под DB и Backup
$3 =
0 Локальная сеть С+
1 сеть Клиента
$4 =
0 Тестовая лицензия (тестовый сервер лицензирования)
1 Боевая лицензия (боевой сервер лицензирования)
$5 = Имя хоста для мониторинга Grafana
Самые популярные комбинации:
./prepare_os.sh 0 0 0 0 test_host_prepareos
Данная команда запустит скрипт и подготовит полное окружение на одном хосте, а также даст для телеграфа название test_host_prepareos (Telegraf полностью настраивается, но при настройке отключается автостарт и выключается, чтобы в базу не слать тесты).
./prepare_os.sh 2 3 1 1 klient-backend
Данная команда запустит скрипт и подготовит полное окружение для backend с двумя хардами, один – под БД, второй – под бекапы.
./prepare_os.sh 3 0 1 1 klient-processing
Данная команда запустит скрипт и подготовит полное окружение для processing.
После окончания работы скрипта необходимо открыть недостающие порты для clickhouse и цепочек:
sudo ufw allow 8123/tcp
sudo ufw allow 8123
sudo ufw allow 9900/tcp
sudo ufw allow 9900
Подарочные сертификаты:
sudo ufw allow 9092/tcp
sudo ufw allow 9092
sudo ufw allow 9003/tcp
sudo ufw allow 9003
Elasticsearch:
sudo ufw allow 9092/tcp
sudo ufw allow 9092
Инсталляция Backend
Установка
Для инсталляции сервиса loya-backend необходимо:
- Скопировать архив со скриптом развертки backend-x.x.x.tar.gz (необходимо запросить у представителя ПО).
- Скопировать архив на целевой хост в домашний каталог пользователя loya. При копировании архива с помощью программы Winscp выставить опцию "копировать как бинарные файлы".
- Разархивировать архив:
$ tar xzf backend-X.X.X.tar.gz
- Повысить привилегии пользователя loya:
$ sudo su
- Запустить скрипт установки:
# ./backend-X.X.X.sh
При запросе директории для установки, следует указать директорию /home/loya/loya/.
* Enter installation path or press ENTER to use current (/root/loya) [ENTER]:/home/loya/loya/
При запросе порта для работы приложения, ничего указывать не надо, необходимо подтвердить значение по умолчанию вводом Enter.
* Enter port number (1-65535) or press ENTER to use current (9090) [ENTER]
Настройка
После установки необходимо прописать лицензионный ключ в файл user.conf, находящийся в директории /home/loya/loya/backend/conf/user.conf.
Запуск
Команда для запуска Loya-backend, в зависимости от версии релиза ОС Ubuntu:
Ubuntu 16-18 $ sudo systemctl start loya-backend Ubuntu 14 $ sudo service loya_backend start |
Команда для остановки Loya-backend:
Ubuntu 16-18 $ sudo systemctl stop loya-backend Ubuntu 14 $ sudo service loya_backend stop |
Команда для перезапуска Loya-backend:
Ubuntu 16-18 $ sudo systemctl restart loya-backend Ubuntu 14 $ sudo service loya_backend restart |
Команда для получения статуса Loya-backend:
Ubuntu 16-18 $ sudo systemctl status loya-backend Ubuntu 14 $ sudo service loya_backend status |
Обновление
Для обновления сервиса loya-backend необходимо:
- Скопировать архив со скриптом развертки backend-x.x.x.tar.gz (необходимо запросить у представителя ПО).
- Скопировать архив на целевой хост в домашний каталог пользователя loya. При копировании архива с помощью программы Winscp выставить опцию "копировать как бинарные файлы".
- Разархивировать архив:
$ tar xzf backend-X.X.X.tar.gz
- Повысить привилегии пользователя loya:
$ sudo su
- Остановить loya-backend:
Ubuntu 16-18
#systemctl stop loya-backend
Ubuntu 14
#service loya_backend stop
- Запустить скрипт установки:
# ./backend-X.X.X.sh
На этапе копирования conf файлов, отвечаем N
Инсталляция Processing
Установка
Для инсталляции сервиса loya-processing необходимо:
- Скопировать архив со скриптом развертки processing-x.x.x.tar.gz (необходимо запросить у представителя ПО).
- Скопировать архив на целевой хост в домашний каталог пользователя loya. При копировании архива с помощью программы Winscp выставить опцию "копировать как бинарные файлы".
- Разархивировать архив:
$ tar xzf processing-X.X.X.tar.gz
- Повысить привилегии пользователя loya:
$ sudo su
- Запустить скрипт установки:
# ./processing-X.X.X.sh
При запросе директории для установки, следует указать директорию /home/loya/loya/.
* Enter installation path or press ENTER to use current (/root/loya) [ENTER]:/home/loya/loya/
При запросе порта для работы приложения, ничего указывать не надо, необходимо подтвердить значение по умолчанию вводом Enter
* Enter port number (1-65535) or press ENTER to use current (9010) [ENTER]
Настройка
После установки необходимо прописать лицензионный ключ в файл user.conf, находящийся в директории /home/loya/loya/processing/conf/user.conf.
Запуск
Команда для запуска Loya-processing, в зависимости от версии релиза ОС Ubuntu:
Ubuntu 16-18 $ sudo systemctl start loya-processing Ubuntu 14 $ sudo service loya_processing start |
Команда для остановки Loya-processing:
Ubuntu 16-18 $ sudo systemctl stop loya-processing Ubuntu 14 $ sudo service loya_processing stop |
Команда для перезапуска Loya-processing:
Ubuntu 16-18 $ sudo systemctl restart loya-processing Ubuntu 14 $ sudo service loya_processing restart |
Команда для получения статуса Loya-processing:
Ubuntu 16-18 $ sudo systemctl status loya-processing Ubuntu 14 $ sudo service loya_processing status |
Инсталляция сервиса API-external
Начиная с версии 1.35 LOYA, API был выделен в отдельный сервис, для того чтобы проблемы при перезагрузке или сильной загруженности loya-backend не приводили к проблемам с доступностью API.
Установка
Для инсталляции сервиса loya-api необходимо:
- Скопировать архив со скриптом развертки loya-external-api-x.x.x.tar.gz (необходимо запросить у представителя ПО).
- Скопировать архив на целевой хост в домашний каталог пользователя loya. При копировании архива с помощью программы Winscp выставить опцию "копировать как бинарные файлы".
- Разархивировать архив:
$ tar xzf loya-external-api-X.X.X.tar.gz
- Повысить привилегии пользователя loya:
$ sudo su
- Запустить скрипт установки:
# ./loya-external-api-X.X.X.sh
При запросе директории для установки, следует указать директорию /home/loya/loya/
* Enter installation path or press ENTER to use current (/root/loya) [ENTER]:/home/loya/loya/
При запросе порта для работы приложения, ничего указывать не надо, необходимо подтвердить значение по умолчанию вводом Enter
* Enter port number (1-65535) or press ENTER to use current (9091) [ENTER]
- После установки и запуска отдельного API необходимо указать license.client=" " в файл /home/loya/loya/api/conf/user.conf.
Настройка
После установки необходимо прописать лицензионный ключ в файл user.conf, находящийся в директории /home/loya/loya/api/conf/user.conf. Ключ надо вписать в параметр license.client="" между кавычек. Взять ключ можно из конфигурационного файла user.conf бэкенда, расположенного в директории /home/loya/loya/backend/conf/.
Для полноценной работы сервиса необходимо корректно настроить сервис Nginx. Для этого надо воспользоваться скриптом настройки Nginx. В кратком изложении, необходимо скопировать скрипт и запустить его без параметров. Инструкция по работе со скриптом:
$ chmod +x config-https.sh$ sudo su
Первый вариант запуска – когда на хосте необходимо провести либо первоначальную настройку, либо вернуть текущие настройки nginx к первоначальным:
# ./config-https.sh
Запуск
Команда для запуска API-external в зависимости от версии релиза ОС Ubuntu:
Ubuntu 16-18 $ sudo systemctl start loya-api Ubuntu 14 $ sudo service loya_api start |
Команда для остановки API-external:
Ubuntu 16-18 $ sudo systemctl stop loya-api Ubuntu 14 $ sudo service loya_api stop |
Команда для перезапуска API-external:
Ubuntu 16-18 $ sudo systemctl restart loya-api Ubuntu 14 $ sudo service loya_api restart |
Команда для получения статуса API-external:
Ubuntu 16-18 $ sudo systemctl status loya-api Ubuntu 14 $ sudo service loya_api status |