Установка инсталляции LogIQ разнесенной на три сервера с помощью Ansible

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

Требования к серверам для выполнения установки

Для того, чтобы выполнить данную лабораторную работу, вам понадобится:

 

Дистрибутив системы должен иметь имя logiq_x.x.x-offline_amd64.deb, где x.x.x — номер версии.

Подготовка серверов

 
На каждом сервере должна быть выполнена интеграция с корпоративным NTP-сервером.

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

 

Такой сервер называется управляющим. Серверы, на которые будет выполнена установка сервера хранения и конвейера называются управляемыми.

Такой вариант установки требует доступа к серверам по протоколу SSH. Рассмотрим процесс установки более подробно.

Настройка SSH-подключения

 

OpenSSH должен быть настроен на стандартный 22 порт.

Для настройки SSH-подключения необходимо выполнить следующие действия:

Шаг 1. Если для установки LogIQ имеется потребность в использовании непривилегированного пользователя, отличного от root, то необходимо создать целевого SSH-пользователя на всех управляющих и управляемых серверах, если этого не было сделано ранее. Для этого на управляющем и всех управляемых серверах выполните следующие команды:

sudo useradd -m -s /usr/bin/bash -g users -G sudo <целевой_ssh_пользователь>
sudo groupadd <целевой_ssh_пользователь>

Шаг 2. Если целевой пользователь на серверах является непривилегированным, отличным от root, то на каждом из них необходимо добавить пользователя в sudo с отключением ввода пароля:

echo '<целевой_ssh_пользователь> ALL=(ALL) NOPASSWD: ALL' | sudo tee -a /etc/sudoers

Шаг 3. На управляющем сервере выполните генерацию SSH-ключей под целевым пользователем, под которым будет запускаться установка LogIQ:

su - <целевой_ssh_пользователь>
ssh-keygen -t rsa

Шаг 4. Скопируйте публичный SSH-ключ с управляющего сервера на каждый управляемый сервер под целевым SSH-пользователем:

ssh-copy-id <целевой_ssh_пользователь>@<IP_адрес_или_FQDN_управляемого_сервера_1>
ssh-copy-id <целевой_ssh_пользователь>@<IP_адрес_или_FQDN_управляемого_сервера_2>

Перенос дистрибутива LogIQ для установки

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

Шаг 1. Подключите USB-накопитель к устройству, с которого имеется доступ к управляющему серверу по протоколу SSH и загрузите дистрибутив на него:

scp <путь_к_оффлайн-сбоке_на_USB-накопителе> <целевой_ssh_пользователь>@<адрес_управляющего_сервера>:/opt/logiq_<версия_LogIQ>-offline_amd64.deb

Шаг 2. Войдите в терминал управления сервера и выполните распаковку deb-пакета с помощью следующей команды:

sudo dpkg -i /opt/logiq_<версия_LogIQ>-offline_amd64.deb

Подготовка конфигурационного файла LogIQ

Общая информация

Конфигурация LogIQ описывается в конфигурационном файле, представляющем собой Ansible Inventory-файл.

Путь к конфигурационному файлу

Все параметры устанавливаемой системы задаются в конфигурационном .yml-файле. Путь к конфигурационному файлу LogIQ можно указать через флаг -f </conf/path>. Если параметр не указан, то по умолчанию используется путь /etc/logiq/config.yml

Процесс подготовки конфигурационного файла

Для того, чтобы подготовить конфигурационный файл, выполните на управляющем сервере следующую команду находясь в каталоге, в который вы распаковали дистрибутив LogIQ:

sudo cp /usr/share/logiq/ansible/inventories/presets/AIO-docker-distributed-offline.yml /etc/logiq/config.yml

Пример конфигурационного файла

В данной лабораторной работе система будет разнесена на три сервера: сервер приложений (управление LogIQ), сервер хранения (ClickHouse) и сервер конвейера (Saturn).

Ниже приведен пример структуры конфигурационного файла LogIQ для такого варианта установки и значение параметров:

# Определение целевых хостов для LogIQ. По умолчанию определяется только локальный хост `logiq-control`.
hosts: []
  # Примеры:
  #
  # - name: "<имя_целевого_хоста>"
  #   address: "<IP-адрес|FQDN_целевого_хоста_или_переменная_ansible>"
  #   connection: "<local|ssh|docker>" # Опциональный параметр с указанием типа подключения ansible на целевые хосты.  Если не указать, то будет использоваться значение 'ssh'.
  #   user: "<ssh_username>" # Обязательный параметр с указанием имени SSH-пользователя, если `connection: "ssh"`. Альтернатива параметру: задать переменную `ansible_user` в секции `variables_overrides` для всех хостов.
  # В рамках лабораторной работы (установка, разнесенная на 3 сервера) необходимо заполнять
  # следующим образом: 
  #
   - name: "logiq-control"
     address: "127.0.0.1"
     connection: "local"
   - name: "logiq-clickhouse"
     address: "<IP-адрес_управляемого_сервера_1>"
     connection: "ssh"
     user: "root"
   - name: "logiq-saturn"
     address: "<IP-адрес_управляемого_сервера_1>"
     connection: "ssh"
     user: "root"
 
# Переопределение целевых хостов для конкретных компонентов LogIQ. По умолчанию для всех компонентов используется локальный хост `logiq-control`.
# Список доступных компонентов: clickhouse, postgres, s3, apigw, cadvisor, aptly, registry, vault, portainer, mpsiem_rabbitmq, venus, earth, saturn, mercury, prometheus, grafana, openldap, mailhog
targets_overrides: {}
  #
  # Пример:
  #
  # <наименование компонента>:
  #   hosts:
  #     - <значение параметра `name` целевого хоста из секции `hosts`>
  #
  # В рамках лабораторной работы (установка, разнесенная на 3 сервера) необходимо заполнять
  # следующим образом: 
  #
   clickhouse:
     hosts:
       - logiq-clickhouse
   
   saturn:
     hosts:
       - logiq-saturn
  
 
# Переопределение переменных с параметрами развертывания LogIQ и его компонентов.
# Перечень доступных переменных можно посмотреть в файле
# /usr/share/logiq/ansible/inventories/defaults.yml.
variables_overrides:
  deployment_type: "docker-compose"  # Обязательный параметр с указанием типа развертывания. Возможные значения: docker-compose, helm
  offline_mode: "true"
  init_aptly: "true"
  use_repo_aptly: "true"
  logiq_taxonomy: "mpsiem" #В данном параметре можно выбрать формат регистрации событий. Возможные значения: mpsiem, json.
 

В рамках данной лабораторной мы будем использовать стандартный конфигурационный файл без изменений его параметров. При необходимости вы можете поменять формат записи событий. Для этого необходимо установить его значение для параметра logiq_taxonomy в конфигурационном файле. Для отображения в формате MPSIEM установите значение "mpsiem" (значение по умолчанию), для формата JSON — "json".

Запуск процесса подготовки сервера к установке LogIQ

Для того, чтобы запустить процесс подготовки управляющего сервера к установке LogIQ, выполните на нем следующую команду находясь в каталоге, в который вы распаковали дистрибутив LogIQ:

logiq prepare-host

Процесс установки LogIQ

Установка LogIQ должна быть запущена из каталога сборки. Для этого выполните следующую команду:

logiq deploy --components <список_сервисов_и/или_модулей>

Примеры запуска команд

Установка всех компонентов LogIQ

logiq deploy --components all

Установка службы vault и модуля services

logiq deploy --components vault,services

Установка нескольких модулей и служб

logiq deploy --components vault,s3,services,openldap,monitoring

Справка об использовании скрипта развертывания LogIQ

logiq --help
Справка об использовании скрипта развертывания LogIQ
 
Команды:
  prepare-host                                                 Подготовить хосты и окружение к развертыванию или обновлению LogIQ
    Использование: logiq prepare-host [--ansible-tags <tag1,tag2,...>]
    Опциональные параметры:
      --ansible-tags <tag1,tag2,...>                           Указать теги для запуска определенных задач Ansible. Если параметр не указан, то по умолчанию указываются все доступные Ansible теги
        Доступные Ansible теги:
          security_disable,set_sysctl,init_aptly,os_packages_install,docker_install
 
  deploy|uninstall                                             Развернуть/обновить или удалить компоненты LogIQ
    Использование: logiq <deploy|uninstall> --components <module1,module2|service1,service2...>
    Обязательные параметры:
      --components <module1,module2|service1,service2...>      Список модулей и/или сервисов для развертывания
 
  ansible                                                      Прямой вызов ansible, путь к инвентарю необходимо передать через -f </conf/path> или создать его по пути /etc/logiq/config.yml
    Использование: logiq ansible <ansible commands and flags>
 
  ansible-playbook                                             Прямой вызов ansible-playbook, путь к инвентарю необходимо передать через -f </conf/path> или создать его по пути /etc/logiq/config.yml
    Использование: logiq ansible-playbook <ansible-playbook commands and flags>
 
  get-config                                                   Вывести текущую полную конфигурацию LogIQ
    Использование: logiq get-config
 
  get-example-conf                                             Вывести пример конфигурационного файла LogIQ
    Использование: logiq get-example-conf
 
Дополнительные флаги:
  -f </conf/path>                                              Путь к конфигурационному файлу LogIQ. Если параметр не указан, то по умолчанию используется /etc/logiq/config.yml
  --ansible-opts '<--param1 --param2 -P3>'                     Дополнительные параметры Ansible, например, '-diff --check --list-tasks --limit'
  -h|--help|help                                               Вывести эту справку
  -v|--version|version                                         Вывести версию LogIQ
 
Список доступных модулей и сервисов LogIQ:
  registry: registry
  tools: portainer,vault
  storage: clickhouse,s3,postgres,mpsiem_rabbitmq
  external: openldap,mailhog
  services: earth,apigw,mercury,saturn,venus,saturn-agent
  monitoring: prometheus,grafana,cadvisor,saturn-metrics-exporter
 
Для выбора всех вышеперечисленных модулей укажите: all

Проверка работоспособности системы

Для того, чтобы проверить успешность завершения установки LogIQ, перейдите в веб-интерфейс управления системой. Он будет доступен по адресу https://<IP-адрес_управляющего_сервера>:5555.

Учетные данные по умолчанию:

FAQ

Что означает параметр `--components` командах `logiq deploy` или `logiq uninstall`?

В обязательном параметре `--components` необходимо перечислить список модулей и/или сервисов LogIQ, которые планируется развернуть, например, `logiq deploy --components <список_сервисов_и/или_модулей>` или `logiq uninstall --components <список_сервисов_и/или_модулей>`. Подробнее описано в справке `logiq --help`.

Какие модули необходимо указать в параметре `--components` при запуске команд `logiq deploy --components <список_сервисов_и/или_модулей>` или `logiq uninstall --components <список_сервисов_и/или_модулей>`?

Подробный список модулей доступен при выполнении команды `logiq --help`.

Как указать нужные версии сервисов?

Просмотрите файл stand.env, в нем можно указать какие версии сервисов использовать при развертывании LogIQ.

Как изменить конфигурацию LogIQ при развертывании?

Конфигурация LogIQ описывается в конфигурационном файле, представляющем собой Ansible Inventory-файл. В каталоге presets хранятся пресеты для различных конфигураций LogIQ, которые можно использовать как есть для развертывания LogIQ или для клонирования одного из пресеты с последующей перенастройкой LogIQ под специфичные условия и окружение.

Как остановить работу служб?

Для остановки работы служб используйте следующую команду:

`logiq uninstall --components <список_служб_и/или_модулей> -f <путь_к_конфигурационному_файлу_LogIQ>`


ID статьи: 1331
Последнее обновление: 7 нояб., 2025
Ревизия: 3
База знаний LogIQ -> Обучающие материалы -> Установка инсталляции LogIQ разнесенной на три сервера с помощью Ansible
https://docs.axel.pro/ustanovka-installyacii-logiq-raznesennoj-na-tri-servera-s-pomosh6yu-ansible_1331.html