Внешние сервисы и интеграции
Внешний кластер PostgreSQL
Использование внешней БД — не входит в стандартное описание и процесс установки.
Требования к внешней БД
- PostgreSQL v13, v18
- Максимальное количество подключений к БД (
max_connections): >= 300 - Максимальное количество воркеров (
max_worker_processes): >= 8 - Потребуется установка расширений PostgreSQL (см. ниже)
Изменение конфигурации
Чтобы использовать уже существующий сервис PostgreSQL при установке Sage, добавьте в инвентарь группу external, в которой будет внешний PostgreSQL.
Файл clans/{{ clan }}/{{ env }}/{{ dc }}/hosts.yml:
postgres:
hosts:
your-external-postgres.example.com # Реальный адрес вашего PostgreSQL
external:
children:
postgres:
Для автоматической инициализации PostgreSQL подключение должно осуществляться под суперпользователем. Для этого укажите данные суперпользователя в своём инвентаре.
Файл clans/{{ clan }}/{{ env }}/{{ dc }}/group_vars/sage/postgres.yml:
postgres_admin_user: # Имя суперпользователя
postgres_admin_password: # Пароль суперпользователя
Ручная подготовка PostgreSQL (если нет суперпользователя)
Если у вас нет возможности использовать суперпользователя, необходимо отключить автоматическую настройку PostgreSQL и вручную создать все требуемые базы данных, пользователей, схемы и расширения.
Переключите флаг postgres_manage_db_and_users в значение false.
Файл clans/{{ clan }}/{{ env }}/{{ dc }}/group_vars/sage/postgres.yml:
postgres_manage_db_and_users: false
Это позволит пропустить этап создания ресурсов во время установки Sage. Создайте ресурсы вручную до начала установки Sage по инструкциями ниже.
1. Создание баз данных
Создайте следующие БД из списка:
sage_grafanasage_pagersage_sauronsage_slasage_logs_to_metricsservice_mapdp_connectorotel_agentsspirit_kratosspirit_hydraspirit_tenant_managerspirit_iam_jwksage_mcckeycloak
Пример запроса для создания БД:
CREATE DATABASE {{ db_name }};
2. Создание пользователей и выдача прав
Создайте пользователей с именами, совпадающими с именами соответствующих БД (например, для БД sage_grafana должен быть пользователь с именем sage_grafana). Каждый пользователь должен обладать полными правами на свою БД.
CREATE USER {{ username }} WITH PASSWORD '{{ password }}';
GRANT ALL PRIVILEGES ON DATABASE {{ db_name }} TO {{ username }};
3. Создание схем и установка расширений
В соответствующих БД создайте необходимые схемы:
sagespiritsage_dp_connector(дляdp_connector)
Пример запроса для создания схем:
CREATE SCHEMA IF NOT EXISTS sage;
CREATE SCHEMA IF NOT EXISTS spirit;
CREATE SCHEMA IF NOT EXISTS sage_dp_connector;
Добавьте следующие расширения каждой БД в схемах sage, spirit, sage_dp_connector:
btree_ginpg_trgmpgcryptohstoreuuid-ossp
Пример запроса для установки расширений:
CREATE EXTENSION IF NOT EXISTS {{ extension }} SCHEMA sage;
или
CREATE EXTENSION IF NOT EXISTS {{ extension }} SCHEMA spirit;
или
CREATE EXTENSION IF NOT EXISTS {{ extension }} SCHEMA sage_dp_connector;