В рамках данной лабораторной работы мы расскажем как выполнить установку AiO-конфигурации LogIQ, что для этого необходимо, как выполнить проверку работоспособности и ответим на самые часто встречающиеся вопросы. Длительность выполнения лабораторной работы — 2 часа.
Для того, чтобы выполнить данную лабораторную работу, вам понадобится:
Дистрибутив системы должен иметь имя logiq_x.x.x-offline_amd64.deb, где x.x.x — номер версии.
Процесс установки системы подразумевает развертывание с помощью утилит Docker и Ansible. Все команды и скрипты выполняются с сервера, на котором будет развернута система. Такой вариант установки требует доступа к серверу по протоколу 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
Для установки Системы необходимо загрузить дистрибутив 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 описывается в конфигурационном файле, представляющем собой Ansible Inventory-файл.
В каталоге ./ansible/inventories/presets хранятся пресеты для различных конфигураций LogIQ, которые можно использовать как есть для развертывания LogIQ или для клонирования одного из пресетов с последующей перенастройкой LogIQ под специфические условия и окружение:
В рамках данной лабораторной работы мы будем рассматривать установку с помощью пресета AIO-docker-offline.yml.
Все параметры устанавливаемой системы задаются в конфигурационном .yml-файле. Путь к конфигурационному файлу LogIQ можно указать через флаг -f </conf/path>. Если параметр не указан, то по умолчанию используется путь /etc/logiq/config.yml.
Для того, чтобы подготовить конфигурационный файл, выполните на сервере следующую команду находясь в каталоге, в который вы распаковали дистрибутив LogIQ:
sudo cp /usr/share/logiq/ansible/inventories/presets/AIO-docker-offline.yml /etc/logiq/config.yml
Ниже приведен пример структуры конфигурационного файла LogIQ и значение параметров:
# Определение целевых хостов для LogIQ. По умолчанию определяется только локальный хост `logiq-control`.
hosts: []
# Примеры:
#
# - name: "<имя_целевого_хоста>"
# address: "<IP-адрес|FQDN_целевого_хоста_или_переменная_ansible>"
# connection: "<local>" # Опциональный параметр с указанием типа подключения ansible на целевые хосты.
# user: "<ssh_username>" # Обязательный параметр с указанием имени SSH-пользователя, если `connection: "ssh"`. Альтернатива параметру: задать переменную `ansible_user` в секции `variables_overrides` для всех хостов.
#
# - name: "logiq-control"
# address: "127.0.0.1"
# connection: "local"
# Переопределение переменных с параметрами развертывания LogIQ и его компонентов.
# Перечень доступных переменных можно посмотреть в /usr/share/logiq/ansible/inventories/defaults.yml.
variables_overrides:
deployment_type: "docker-compose" # Обязательный параметр с указанием типа развертывания.
offline_mode: "true"
init_aptly: "true"
use_repo_aptly: "true"
logiq_taxonomy: "mpsiem" #В данном параметре можно выбрать формат регистрации событий. Возможные значения: mpsiem, json.
В рамках данной лабораторной мы будем использовать стандартный конфигурационный файл без изменений его параметров. При необходимости вы можете поменять формат записи событий. Для этого необходимо установить его значение для параметра logiq_taxonomy в конфигурационном файле. Для отображения в формате MPSIEM установите значение "mpsiem" (значение по умолчанию), для формата JSON — "json".
Для того, чтобы запустить процесс подготовки сервера к установке LogIQ, выполните на нем следующую команду находясь в каталоге, в который вы распаковали дистрибутив LogIQ:
logiq prepare-host
Установка LogIQ должна быть запущена из каталога сборки. Для этого выполните следующую команду:
logiq deploy --components <список_сервисов_и/или_модулей>
logiq deploy --components all
logiq deploy --components vault,services
logiq deploy --components vault,s3,services,openldap,monitoring
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.
Учетные данные по умолчанию:
В обязательном параметре `--components` необходимо перечислить список модулей и/или сервисов LogIQ, которые планируется развернуть, например, `logiq deploy --components <список_сервисов_и/или_модулей>` или `logiq uninstall --components <список_сервисов_и/или_модулей>`. Подробнее описано в справке `logiq --help`.
Подробный список модулей доступен при выполнении команды `logiq --help`.
Просмотрите файл stand.env, в нем можно указать какие версии сервисов использовать при развертывании LogIQ.
Конфигурация LogIQ описывается в конфигурационном файле, представляющем собой Ansible Inventory-файл. В каталоге presets хранятся пресеты для различных конфигураций LogIQ, которые можно использовать как есть для развертывания LogIQ или для клонирования одного из пресеты с последующей перенастройкой LogIQ под специфичные условия и окружение.
Для остановки работы служб используйте следующую команду:
`logiq uninstall --components <список_служб_и/или_модулей> -f <путь_к_конфигурационному_файлу_LogIQ>`