Инсталляция системы
Ядро управления. Инсталляция компонент
Ядро управления представляет собой центральный элемент системы, обеспечивающий координацию работы всех компонентов и модулей. Оно отвечает за обработку запросов пользователей, выполнение бизнес-логики, а также взаимодействие с внешними системами и базами данных.
Основные функции ядра управления
- Управление пользователями: аутентификация, авторизация, контроль доступа к ресурсам
- Обработка запросов: прием, маршрутизация и обработка запросов от клиентов
- Взаимодействие с БД: работа с базой данных для хранения и обработки информации
- Логирование: ведение журнала событий и ошибок для последующего анализа
- Мониторинг и диагностика: отслеживание состояния системы и ее компонентов
- 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 update2. Добавление официального репозитория PostgreSQL для версии 16:
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list3. Импортируем ключ подписи:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -4. Обновляем список пакетов:
sudo apt update5. Установка PostgreSQL 16:
sudo apt install postgresql-166. Убедитесь, что служба запущена:
sudo systemctl status postgresql@16-main7. Создание нового пользователя и базы данных:
Войдем под пользователем 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.rpm2. Устанавливаем PostgreSQL 16.
sudo yum install postgresql16-server3. Инициализация кластера:
После установки инициализируем кластер баз данных:
/usr/pgsql-16/bin/postgresql-16-setup initdb4. Запуск службы PostgreSQL.
Запустите службу и настройте её автостарт при загрузке системы:
sudo systemctl enable --now postgresql-165. Создадим нового пользователя:
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Проверка установки
- Откройте веб-браузер и перейдите по адресу:
http://localhost:8080 - Войдите с созданными учетными данными
- Убедитесь, что интерфейс Airflow загружается корректно
- Проверьте наличие примеров 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После успешной установки система «Пуаро» будет готова к работе и интегрирована со всеми необходимыми компонентами.