Настройка интеграции c Pangolin#

Цель выполнения#

GRAF позволяет работать с кластером Pangolin при наличии такой потребности.

Шаг 1. Создание базы данных Pangolin#

Инициируйте заказ базы данных Pangolin. Выполните проверку, что база данных соответствует следующим требованиям:

  • Табличные пространства: grafana,

  • Имя базы данных и схемы: grafana/grafana.grafana

Должны быть созданы два пользователя: view_user - обладает правами работы с данными в таблицах БД (предназначена для работы компонента). view_migrator - обладает правами view_user плюс создания, модификации схемы с объектами БД (предназначен для этапа миграции БД).

Шаг 2. Установка SSL-сертификата#

Если база данных работает с самоподписанным сертификатом замените самоподписанный сертификат сертифицированным удостоверяющим центром.

Шаг 3. Выполнить настройку конфигурационного файла#

Необходимо скорректировать в файле sbt_inventory.yml следующие параметры:

Параметр

Значение по умолчанию

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

db_type

postgres

Тип БД

db

"postgres://$__secman{kv:DEV/A/XXXX/VIEW/GRAF/KV/xxxx_secrets:db_user}:$__secman{kv:DEV/A/XXXX/VIEW/GRAF/KV/xxxx_secrets:db_pass}@st-view-mock-01.xxxxx.xxx:5433/grafana?binary_parameters=yes&target_session_attrs=read-write"

Параметры подключения к БД

db_ssl_mode

require

Режим ssl_mode

cert_file

$__secman{pki:XXX_XXX/PKI:role-ga-secman-inda-dev:xxx-view-grafana-01-xxx:certificate}

Пут к cert_file БД

cert_key

$__secman{pki:XXX_XXX/PKI:role-ga-secman-inda-dev:xxx-view-grafana-01-xxx:private_key}

Пут к cert_key БД

Внимание

Если в пароль БД состоит из спецсимволов например #$^% вместо нотации $__secman используйте $__{secman_url_encoded}

Шаг 4. Настройка георезерва БД и секретов из Secman#

Для обеспечения отказоустойчивости и высокой доступности подключения к базе данных Pangolin необходимо настроить георезервирование (гео-репликацию) и безопасное получение учетных данных из SecMan.

  • В параметре db укажите список хостов основного и резервного узлов через запятую. Это позволяет клиенту автоматически переключиться на реплику в случае недоступности основного узла.

  • Логин и пароль для подключения к БД должны извлекаться из SecMan с использованием механизма __$secman{...}, что обеспечивает безопасное хранение и передачу учетных данных без их явного указания в конфигурации.

Пример корректного значения параметра db с георезервом и динамическими секретами:

db: "postgres://__secman{kv:XXX_XXX/A/XXXX/VIEW/GRAF/KV/xxxx_secrets:db_user}:__secman{kv:XXX_XXX/A/XXXX/VIEW/GRAF/KV/xxxx_secrets:db_pass}@xxxx-pangolin-01.xxxxxx.xxx:5433,xxxx-pangolin-02.xxxxxx.xxx:5433/view_db?binary_parameters=yes&target_session_attrs=read-write"

Где:

  • xxxx-pangolin-01.xxxxxx.xxx:5433 — основной узел.

  • xxxx-pangolin-02.xxxxxx.xxx:5433 — резервный узел.

  • view_db — имя базы данных.

  • Параметры:

    • binary_parameters=yes — включение бинарных параметров для производительности.

    • target_session_attrs=read-write — гарантирует подключение только к узлу с режимом чтения-записи.

Миграция на БД#

При установке на чистую БД, предусматривается следующий вариант миграции сущностей БД:

  1. Необходимо выполнить первичный запуск сервиса с подключением к БД под пользователем view_migrator, в рамках которого будет выполнена миграция в БД.

  2. Для дальнейшей работы сервиса, необходимо выполнить переустановку сервиса с подключением к БД под пользователем view_user.

Проверка результата#

После завершения всех этапов настройки интеграции с Pangolin необходимо провести проверку результатов.