Перейти к основному содержимому
Версия: 4.0

Установка Logstash

Общие сведения

Запускать установщик Logstash требуется от пользователя root, указав путь до него:

/opt/smart-monitor-installer/logstash/install.sh

Если Logstash используется как точка сбора метрик перед отправкой в OpenSearch, мы рекомендуем использовать отдельный сервер для установки Logstash. Для Logstash по умолчанию используется владелец директорий и папок logstash, а группа logstash.

В наш установщик уже включён плагин logstash-output-opensearch, который нужен для подключения к OpenSearch.

Установка основных директорий

Установщик проверяет наличие запущенного сервиса Logstash и, если находит, то спрашивает о продолжении установки:

================================================================================
SMART MONITOR INSTALL SCRIPT - LOGSTASH
================================================================================

Current working directory: /srv/smos_4.0/logstash

Current name of install's archive: logstash-oss-with-opensearch-output-plugin-8.9.0-linux-x64.tar.gz

Current version Logstash: 8.9.0

================================================================================
-- STEP 1. INSTALLATION DIRECTORIES


!!! You have running instance of Logstash. Installer support only one running instance per node.
Do you want to continue? [y/N]:

На этом изображении так же виден найденный установочный архив и версия Logstash для установки. По умолчанию установка будет отменена, для продолжения необходимо ввести "y". При продолжении установки запущенный сервис выключается.

На первом шаге задаются основные директории установки. Мы рекомендуем все файлы, относящиеся к Smart Monitor хранить в одной директории /app, это упростит обслуживание в дальнейшем.

Если вы делаете тестовую установку и планируете на одном сервере установить все компоненты Smart Monitor, то обязательно нужно задать для каждого компонента свои отдельные директории. Требуется ввести следующие директории:

  • Home directory — директория установки Logstash
  • Conf directory — расположение конфигурационных файлов
  • Data directory — директория для хранения различных используемых при работе Logstash файлов
  • Logs directory — директория для хранения журналов
-- STEP 1. INSTALLATION DIRECTORIES

Logstash home directory [/app/logstash]:
Logstash conf directory [/app/logstash/config]:
Logstash data directory [/app/data]: /app/data/logstash/
Logstash logs directory [/app/logs]: /app/logs/logstash/

Final Logstash home directory: /app/logstash
Final Logstash conf directory: /app/logstash/config
Final Logstash data directory: /app/data/logstash/
Final Logstash logs directory: /app/logs/logstash/
Is this correct? [y/n]:

По завершению ввода подтвердите корректность ввода данных. Установщик проведёт анализ имеющихся директорий и если они не пустые, то снова выдаст предупреждение:

!!! You've choosed not empty directories. All files will be deleted.
Do you want to continue? [y/N]:
осторожно

Если продолжить, то всё содержимое указанных директорий будет удалено без возможности восстановления!

Для продолжения установки снова требуется ввести y и нажать клавишу Enter.

Установка параметров Logstash

На данном этапе задаём базовые параметры Logstash, такие как:

  • Node name — название текущего сервера Logstash
  • JVM Heap Size — размер памяти в ГБ, выделяемой для JVM Logstash, параметр не должен превышать объем свободной памяти на сервере
-- STEP 2. BASE LOGSTASH PARAMETERS

Node name [smos-node-00]:
JVM heap size in GB [4]:

Final node name: smos-node-00
Final JVM heap size in GB: 4
Is this correct? [y/n]:

После этого подтверждаем введённые данные и продолжаем установку.

Установка параметров сертификатов

примечание

При создании закрытого ключа используются криптографический алгоритм RSA длиной 2048 бит и для создания цифрового отпечатка используется алгоритм SHA-256. Сертификаты админа и текущего сервера создаются на 1095 дней.

На этом шаге настраиваются параметры ключа и сертификата текущего сервера Logstash. Требуется указать уже имеющиеся сертификат и закрытый ключ УЦ, который использовался при установке OpenSearch.

  • Do you want to use your existing certificates and keys? — Вы хотите использовать имеющиеся файлы сертификата и ключа? Вы можете указать свои собственные файлы или воспользоваться встроенным алгоритмом. Если вы используете встроенный алгоритм, ответьте нет (n) только при первой установке. Для последующих узлов следует использовать файлы из текущей конфигурационной директории (по умолчанию: /app/opensearch/config/ca-cert.pem для сертификата и /app/opensearch/config/ca-key.pem для закрытого ключа)
  • Do you want to use an existing CA certificate and private key to generate certificates and keys for this node? — Если выбрать нет, то нужно будет вручную предоставить все необходимые сертификаты для работы узла. Иначе, выбрав да, остальные сертификаты будут автоматически сгенерированы на основе сертификата и ключа центра сертификации.
  • Path to CA certificate — путь к корневому сертификату. Сертификат должен быть одинаковым на всех компонентах Smart Monitor;
  • Path to CA key — путь к приватному ключу. Ключ должен быть одинаковым на всех компонентах Smart Monitor;
  • CN for node certificate — common name для текущего сервера
  • Country for node certificate — название страны для текущего сервера
  • State for node certificate — название области для текущего сервера
  • Locality for node certificate — название города для текущего сервера
  • Organization for node certificate — название организации для текущего сервера
  • External IP — внешний IP адрес текущего сервера, который будет использоваться для взаимодействия с другими компонентами.

Ниже выглядит пример с указанием уже имеющихся закрытого ключа УЦ и сертификата:

-- STEP 3. OPENDISTRO SSL/TLS SETTINGS

Do you want to use your existing certificates and keys? [Y/n]:
Do you want to use an existing CA certificate and private key to generate certificates and keys for this node? [Y/n]
Path to CA certificate [./certs/ca-cert.pem]: /app/opensearch/config/ca-cert.pem
Path to CA key [./certs/ca-key.pem]: /app/opensearch/config/ca-key.pem
CN for node certificate [smos-node-00]:
Country for node certificate [RU]:
State for node certificate [Moscow]:
Locality (city) for node certificate [Moscow]:
Organization for node certificate [SMOS Test Org]:
External IP for alt_names extension []:
Final path to CA certificate: /app/opensearch/config/ca-cert.pem
Final path to CA key: /app/opensearch/config/ca-key.pem
Final CN for node certificate: smos-node-00
Final country for node certificate: RU
Final state for node certificate: Moscow
Final locality (city) for node certificate: Moscow
Final organization for node certificate: SMOS Test Org
External IP for alt_names extension: -
Is this correct? [y/n]:

Подтверждаем корректность ввода и продолжаем установку.

Формирование конфигурационных файлов

На данном этапе никаких действий со стороны администратора не требуются. Этап условно разделяется на два:

  • Подготовка временных директорий, выполнение проверок, подготовка шаблонов
  • Формирование конфигурационных файлов из заданных параметров

Создание сертификатов

На данному этапе не требуется никаких действий со стороны администратора, производится создание закрытого ключа и сертификата текущего сервера из заданных параметров.

Распаковка архива и изменение конфигурационных файлов

На данном этапе не требуется никаких действий со стороны администратора, производится разархивирование архива с OpenSearch-Dashboards, изменение конфигурационных файлов извлечённых из архива, подготовительные процессы перед изменениями системы.

Начало изменений в ОС

Все операции до этого момента выполняются строго внутри директории установщика и не влияют на ОС, просмотреть готовый к установке набор файлов вы можете в директории staging.

Для этого у администратора будет спрошено разрешение на продолжение установки:

!!! AT THIS POINT WE START TO MAKE CHANGES IN OPERATING SYSTEM !!!
Do you want to continue? [y/N]:

Подтвердите изменения для продолжения установки нажатием клавиши «y» и затем «Enter».

Установка

На данном этапе не требуется никаких действий со стороны администратора. Здесь происходит несколько действий:

  • создание групп и пользователей
  • создание директорий
  • установка Logstash
  • установка плагинов
  • изменение владельцев файлов и директорий, а также установка правил SELinux

Подготовительные работы для запуска Logstash

На данном этапе не требуется никаких действий со стороны администратора, происходит включение авто-запуска сервиса logstash.service.

Завершение установки

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

================================================================================
-- Additional firewall configuration example (if needed)
-- For RHEL/CentOS with firewalld
firewall-cmd --permanent --zone=public --add-port=9600/tcp
firewall-cmd --reload
-- For AstraLinux/Debian with ufw
ufw allow 9600/tcp
================================================================================

================================================================================
-- SMART MONITOR SUCCESSFULLY INSTALLED!
================================================================================

При успешном завершении работы установщика узел развёрнут, но требует конфигурационных файлов для сбора данных (пайплайны). Сервис logstash.service автоматически запустится после перезагрузки ОС.

Обратите внимание, что нужно настроить межсетевой экран для портов, на которые будут приниматься данные пайплайнами по примеру выше.

Для проверки работоспособности после добавления пайплайна и включения сервиса logstash.service можно в командной строке ввести:

curl -X GET http://localhost:9600?pretty

Пример вывода:

{
"host" : "srv-asrtatest",
"version" : "8.9.0",
"http_address" : "127.0.0.1:9600",
"id" : "0d6b3458-147c-4b81-b3bb-210ddafdc440",
"name" : "smosed-logstash",
"ephemeral_id" : "bae83d99-e076-42f3-9fc8-546e06ba1591",
"status" : "green",
"snapshot" : false,
"pipeline" : {
"workers" : 4,
"batch_size" : 125,
"batch_delay" : 50
},
"build_date" : "2023-07-18T22:17:29+00:00",
"build_sha" : "375f47bd852411a88d350503847f399e8f652104",
"build_snapshot" : false
}