Инсталляция системы

Инсталляция системы

Ядро управления. Инсталляция компонент

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

Основные функции ядра управления

  • Управление пользователями: аутентификация, авторизация, контроль доступа к ресурсам
  • Обработка запросов: прием, маршрутизация и обработка запросов от клиентов
  • Взаимодействие с БД: работа с базой данных для хранения и обработки информации
  • Логирование: ведение журнала событий и ошибок для последующего анализа
  • Мониторинг и диагностика: отслеживание состояния системы и ее компонентов
  • API-сервер: обработка запросов от пользовательского интерфейса
  • Сборщики данных: получение данных от агентов мониторинга
  • Процессоры событий: обработка и анализ событий безопасности
  • Модуль анализа SQL-запросов: анализ и классификация SQL-запросов, обнаружение аномалий
  • Профилировщик: построение поведенческих профилей пользователей и анализ отклонений
  • Поведенческая модель: анализ поведения пользователей и выявление аномальной активности
  • Модуль поиска уязвимостей: сканирование баз данных на наличие уязвимостей и несоответствий требованиям безопасности
  • Веб-интерфейс: отображение данных пользователям

PostgreSQL — это объектно-реляционная система управления базами данных (СУБД) с открытым исходным кодом, которая предоставляет мощные средства для разработки и развертывания приложений, работающих с большими объемами данных. PostgreSQL известна своей надежностью, безопасностью и поддержкой широкого спектра функций, что делает ее одной из самых популярных СУБД среди разработчиков и администраторов баз данных.

Поддерживаемые версии ОС Linux

Список поддерживаемых версий операционных систем для PostgreSQL можно найти по ссылке https://www.postgresql.org/docs/ (opens in a new tab).

Рекомендованы следующие версии ОС Linux:

Системы на базе Red Hat Enterprise Linux (RHEL) и их производные:

  • CentOS 8
  • Rocky Linux 8/9
  • Red Hat Enterprise Linux 8/9
  • Oracle Linux 8/9
  • РОСА «ХРОМ» 2021.2
  • РЕД ОС МУРОМ 7.3/8
  • AlmaLinux 9

Системы на базе Debian:

  • Debian 11/12
  • Ubuntu 20.04/22.04/24.04/24.10
  • Astra Linux 1.7/1.8

Другие системы:

  • Альт 10/11
  • Альт СП релиз 10

SUSE Linux Enterprise Server (SLES):

  • SLES 15

Системы Linux для процессоров Эльбрус:

  • Альт 9/10 для e2kv3/e2kv4
  • Альт 8.2 СП для e2kv3/e2kv4
  • Альт СП релиз 10
  • Astra Linux «Ленинград» 8.1

Системы Linux для архитектуры ARM:

  • Альт 9/10/11
  • Альт СП 8.2 и выше
  • Astra Linux «Новороссийск»
  • Debian 10/11
  • РЕД ОС МУРОМ 7.3/8
  • RHEL 8/9
  • Ubuntu 20.04/22.04/24.04

Обратите внимание, что рекомендации по выбору операционной системы основаны на текущей информации и могут изменяться со временем. Для получения актуальной информации, всегда проверяйте официальные документы для выбранной Вами версии СУБД PostgreSQL.

Поддерживаемые версии СУБД PostgreSQL

Для корректного функционирования программного обеспечения необходимо развернуть систему управления базами данных (СУБД) PostgreSQL на серверной инфраструктуре.

Программное обеспечение совместимо с большинством релизов СУБД PostgreSQL, однако рекомендуется использовать версию PostgreSQL 16 или PostgreSQL 17 для достижения оптимальной производительности и стабильности.

⚠️

Рекомендованной для эксплуатации является использование версии СУБД от компании Postgres Professional, которая обеспечивает дополнительные функциональные возможности и повышенную надёжность благодаря официальной поддержке компании, расположенной на территории Российской Федерации.

Postgres Professional — российская компания, разработчик систем управления базами данных. Документация по установке актуальных версий СУБД находится по ссылке https://postgrespro.ru/docs (opens in a new tab)

Установка СУБД PostgreSQL

Для установки PostgreSQL 16 на Linux выполните следующие шаги.

Далее представлена пошаговая инструкция по развертыванию СУБД PostgreSQL 16 на основе свободного дистрибутива. Официальный сайт продукта: https://postgresql.org (opens in a new tab)

Шаги для Ubuntu/Debian

1. Обновление репозиториев:

sudo apt update

2. Добавление официального репозитория PostgreSQL для версии 16:

echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

3. Импортируем ключ подписи:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

4. Обновляем список пакетов:

sudo apt update

5. Установка PostgreSQL 16:

sudo apt install postgresql-16

6. Убедитесь, что служба запущена:

sudo systemctl status postgresql@16-main

7. Создание нового пользователя и базы данных:

Войдем под пользователем postgres:

sudo su - postgres

Создадим нового пользователя:

createuser --interactive

Ответьте на вопросы о роли и правах доступа.

Затем создадим базу данных:

createdb имя_базы_данных

Шаги для CentOS/RHEL/Fedora

1. Установите репозиторий PostgreSQL.

Скачайте и установите пакет репозитория:

sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2. Устанавливаем PostgreSQL 16.

sudo yum install postgresql16-server

3. Инициализация кластера:

После установки инициализируем кластер баз данных:

/usr/pgsql-16/bin/postgresql-16-setup initdb

4. Запуск службы PostgreSQL.

Запустите службу и настройте её автостарт при загрузке системы:

sudo systemctl enable --now postgresql-16

5. Создадим нового пользователя:

createuser --interactive

Ответьте на вопросы о роли и правах доступа.

6. Затем создадим базу данных:

createdb имя_базы_данных

Теперь PostgreSQL 16 успешно установлен и готов к использованию!


Сервер отчетности. Инсталляция компонент

ClickHouse — это столбцовая СУБД с открытым исходным кодом, разработанная компанией Яндекс для обработки больших объемов данных в режиме реального времени. Она предназначена для выполнения аналитических запросов высокой сложности над огромными массивами данных.

Официальный сайт продукта: https://clickhouse.com (opens in a new tab)

Поддерживаемые версии ОС Linux

Рекомендованы следующие версии ОС Linux:

  • Debian (9+)
  • Ubuntu (16.04 LTS и выше)
  • CentOS (7+)
  • Red Hat Enterprise Linux (RHEL) (7+)
  • Amazon Linux
  • AlmaLinux
  • Rocky Linux

Эти дистрибутивы являются наиболее популярными для использования ClickHouse, но также возможно установить ClickHouse на другие дистрибутивы Linux, используя универсальные пакеты или сборку из исходного кода.


Установка Apache Airflow

Предварительные требования

Перед установкой Apache Airflow убедитесь, что система соответствует следующим требованиям:

ТребованиеЗначение
Операционная системаLinux, macOS или Windows
Pythonверсии 3.7, 3.8, 3.9 или 3.10
pipменеджер пакетов Python
База данныхSQLite, PostgreSQL, MySQL
Оперативная памятьНе менее 4 ГБ
Процессор2+ ядра

Установка Apache Airflow

Шаг 1: Настройка переменных окружения

# Установите переменные окружения Airflow
export AIRFLOW_HOME=~/airflow
 
# Для постоянного хранения добавьте в ~/.bashrc или ~/.profile
echo "export AIRFLOW_HOME=~/airflow" >> ~/.bashrc
source ~/.bashrc

Шаг 2: Установка Airflow

# Установите последнюю версию Airflow с pip
pip install "apache-airflow[celery]==2.7.1" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.7.1/constraints-3.8.txt"
 
# Или минимальная установка
pip install apache-airflow

Шаг 3: Инициализация базы данных

# Инициализация метаданных базы данных
airflow db init

Шаг 4: Создание учетной записи администратора

# Создайте пользователя для доступа к веб-интерфейсу
airflow users create \
    --username admin \
    --firstname Admin \
    --lastname User \
    --role Admin \
    --email admin@example.com

Запуск Airflow

Запуск веб-сервера

# Запуск веб-сервера на порту 8080
airflow webserver --port 8080

Запуск планировщика

# В отдельном терминале запустите планировщик
airflow scheduler

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

  1. Откройте веб-браузер и перейдите по адресу: http://localhost:8080
  2. Войдите с созданными учетными данными
  3. Убедитесь, что интерфейс Airflow загружается корректно
  4. Проверьте наличие примеров DAG в интерфейсе

Настройка базы данных (опционально)

Для production-окружения рекомендуется использовать PostgreSQL или MySQL вместо SQLite по умолчанию:

# Для PostgreSQL
pip install "apache-airflow[postgres]"
 
# Для MySQL
pip install "apache-airflow[mysql]"

Установка ядра ПО «Пуаро»

ClickHouse официально поддерживается на нескольких российских версиях операционных систем на базе Linux.

Рекомендованы следующие версии ОС Linux:

  • Astra Linux — поддержка начинается с версий Common Edition 8.0 и Special Edition 8.1
  • Alt Linux — поддерживаются различные версии, начиная от 8.x и выше
  • РОСА Linux — версия «РОСА Кобальт» и выше
  • ОСь («Нейтрино») — начиная с версии 6.0

Кроме того, ClickHouse может работать на других отечественных дистрибутивах Linux, таких как «Ред ОС», «Эльбрус» и других, хотя официальной поддержки этих платформ может не быть.

Предварительные требования

Перед запуском установочного скрипта убедитесь, что выполнены все предыдущие пункты:

  • Установлена и настроена СУБД PostgreSQL (п. 2.1.3)
  • Установлен и запущен ClickHouse
  • Установлен и настроен Apache Airflow (п. 2.3)
  • Доступны учетные данные администратора для всех компонентов
  • Система соответствует минимальным требованиям к ресурсам

Подготовка установочного скрипта

Создание конфигурационного файла

Перед запуском скрипта создайте файл конфигурации poirot_config.env:

# Конфигурация PostgreSQL
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432
export POSTGRES_ADMIN_USER=postgres
export POSTGRES_ADMIN_PASSWORD=your_admin_password
 
# Конфигурация ClickHouse
export CLICKHOUSE_HOST=localhost
export CLICKHOUSE_PORT=9000
export CLICKHOUSE_ADMIN_USER=default
export CLICKHOUSE_ADMIN_PASSWORD=your_clickhouse_password
 
# Конфигурация Airflow
export AIRFLOW_HOME=~/airflow
export AIRFLOW_DB_CONN=postgresql+psycopg2://airflow:airflow_password@localhost/airflow
 
# Конфигурация ядра Пуаро
export POIROT_DB_NAME=poirot_core
export POIROT_DB_USER=poirot_user
export POIROT_DB_PASSWORD=secure_password_123
export POIROT_INSTALL_DIR=/opt/poirot

Скачивание установочного скрипта

# Скачайте установочный скрипт с официального репозитория
wget https://repo.poirot-soft.com/install/poirot_install.sh
 
# Сделайте скрипт исполняемым
chmod +x poirot_install.sh

Запуск установочного скрипта

Базовая установка

# Запуск с конфигурационным файлом
./poirot_install.sh --config poirot_config.env
 
# Или интерактивный режим
./poirot_install.sh --interactive

Параметры запуска

# Просмотр доступных параметров
./poirot_install.sh --help
 
# Запуск с валидацией зависимостей
./poirot_install.sh --config poirot_config.env --validate-deps
 
# Запуск с созданием резервных копий
./poirot_install.sh --config poirot_config.env --backup-existing

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

Скрипт выполняет следующие действия автоматически:

Фаза 1: Валидация зависимостей

  • Проверка доступности PostgreSQL
  • Проверка подключения к ClickHouse
  • Проверка работоспособности Airflow
  • Проверка системных ресурсов

Фаза 2: Создание пользователей и баз данных

-- Создание пользователя и БД в PostgreSQL
CREATE USER poirot_user WITH PASSWORD 'secure_password_123';
CREATE DATABASE poirot_core OWNER poirot_user;
 
-- Создание пользователя и БД в ClickHouse
CREATE USER poirot_user IDENTIFIED WITH sha256_password BY 'secure_password_123';
CREATE DATABASE poirot_analytics;

Фаза 3: Установка компонентов ядра

  • Установка Python-зависимостей
  • Копирование файлов ядра в /opt/poirot
  • Настройка системных служб
  • Создание конфигурационных файлов

Фаза 4: Интеграция с Airflow

  • Создание DAG для задач ядра Пуаро
  • Настройка подключения к БД в Airflow
  • Регистрация плагинов и операторов

Фаза 5: Запуск и инициализация

  • Запуск сервисов ядра
  • Инициализация базовых данных
  • Создание администратора системы

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

Проверка сервисов

# Проверка статуса сервисов
systemctl status poirot-core
systemctl status poirot-scheduler
 
# Проверка логов
journalctl -u poirot-core -f
tail -f /var/log/poirot/install.log

Проверка веб-интерфейса

# Проверка доступности веб-интерфейса
curl -I http://localhost:8080/poirot/api/health

Проверка интеграции с Airflow

# Проверка DAG в Airflow
airflow dags list | grep poirot
 
# Проверка подключений
airflow connections list | grep poirot

Настройка после установки

Базовая конфигурация

Отредактируйте файл конфигурации /opt/poirot/config/core.yaml:

database:
  postgres:
    host: localhost
    port: 5432
    database: poirot_core
    username: poirot_user
    password: secure_password_123
  clickhouse:
    host: localhost
    port: 9000
    database: poirot_analytics
    username: poirot_user
    password: secure_password_123
 
logging:
  level: INFO
  path: /var/log/poirot

Настройка системных служб

# Включение автозапуска
systemctl enable poirot-core
systemctl enable poirot-scheduler
 
# Перезапуск сервисов
systemctl restart poirot-core
systemctl restart poirot-scheduler

Устранение неполадок

Распространенные проблемы

Проблема: Ошибки подключения к БД

# Решение: Проверьте параметры подключения
./poirot_install.sh --validate-connections --config poirot_config.env

Проблема: Недостаточно прав

# Решение: Запуск с правами root
sudo ./poirot_install.sh --config poirot_config.env

Проблема: Конфликт портов

# Решение: Измените порт в конфигурации
export POIROT_WEB_PORT=9080

Логи установки

ЛогПуть
Основной лог/var/log/poirot/install.log
Лог базы данных/var/log/poirot/db_setup.log
Лог сервисов/var/log/poirot/service_init.log

Восстановление после сбоя

# Повторный запуск с пропуском выполненных шагов
./poirot_install.sh --config poirot_config.env --resume
 
# Полная переустановка
./poirot_install.sh --config poirot_config.env --clean-install

Дополнительные возможности

Установка в кластерном режиме

# Для установки в кластере
./poirot_install.sh --config poirot_config.env --cluster-mode

Установка с дополнительными модулями

# С модулем аналитики
./poirot_install.sh --config poirot_config.env --with-analytics
 
# С модулем мониторинга
./poirot_install.sh --config poirot_config.env --with-monitoring

После успешной установки система «Пуаро» будет готова к работе и интегрирована со всеми необходимыми компонентами.