Установка компонента Kintsugi agent (DBDA) (опциональный)#
Цель выполнения#
Установка компонента Kintsugi agent (DBDA) необходима, чтобы:
Получать метрики хоста (CPU, память, и другие).
Просматривать логи.
Находить установленные СУБД (PostgreSQL или Platform V Pangolin DB) на том же хосте, где установлен агент.
Последовательность действий#
Установка компонента Kintsugi agent (DBDA) делится на этапы:
Ручная установка#
Перед началом установки убедитесь, что выполнена подготовка окружения.
Для установки Kintsugi agent (DBDA) выполните следующие шаги от имени привилегированного пользователя:
Распакуйте содержимое архива
kgagent.tar.gz.Выполните установку пакета
kgagent-X.X.X-XX.x86_64.rpm.Пример установки с помощью менеджера пакетов RPM:
rpm -i kgagent-X.X.X-XX.x86_64.rpmПример установки с помощью менеджера пакетов YUM:
yum install kgagent-X.X.X-XX.x86_64.rpmВыполните конфигурацию сервиса KgAgent в файле
/etc/kgagent/config.yaml.Описание конфигурационного файла представлено в разделе Настройка интеграций.
Примечание
Проверьте, что определены корректные:
Пути в блоке
database_path.Параметры сбора логов БД
logger.Параметры конфигурации Lua-приложений
luavm.
Настройка прав пользователя:
Убедитесь, что имеется доступ к исполнению
pg_auth_configиpangolin-manager-ctl/patronictl. Путь к этим утилитам должен быть добавлен в переменную окруженияPATH.Убедитесь, что имеются права на чтение содержимого директории
/pgdata, где хранятся данные PostgreSQL.
Настройка KgAgent для работы с системой управления секретами:
Если требуется интеграция Kintsugi agent (DBDA) с хранилищем секретов Secret Management System (далее – SecMan):
Сконфигурируйте параметры блока
certificate.secmanв файле/etc/kgagent/config.yaml.Описание параметров представлено в пункте Конфигурация Kintsugi agent (DBDA) для интеграции с SecMan.
Запустите инициализацию локального хранилища секретов, выполнив команду:
kgagent init -config /etc/kgagent/config.yaml -role_id <role_id> -secret_id <secret_id>, где замените значения:
<role_id>: идентификатор роли для аутентификации в сервисе SecMan.<secret_id>: ключ JSON-объекта, по которому будет получено значение токена.
В случае отсутствия интеграции Kintsugi agent (DBDA) с системой управления секретами, сконфигурируйте параметры
certificate.inmemory.path_to_client_certиcertificate.inmemory.path_to_root_certв файле/etc/kgagent/config.yaml.Описание параметров представлено в пункте Конфигурация Kintsugi agent (DBDA) в случае отсутствия интеграции с HashiCorp Vault.
Запустите сервис, выполнив команду:
systemctl start kgagentПроверьте статус сервиса, выполнив команду:
systemctl status kgagentНастройте лимиты
systemd:Отредактируйте файл службы KgAgent в
systemd, чтобы задать лимиты памяти и CPU:sudo systemctl edit kgagentДобавьте в открывшемся файле:
[Service] MemoryMax=512M CPUQuota=200%Рекомендуется:
Установить
MemoryMaxлимит памяти в 512 МБ.Установить
CPUQuotaлимит CPU в 200%.
Перезапустите службу:
sudo systemctl daemon-reload sudo systemctl restart kgagent
Вычисление контрольной суммы find_postgres.sh#
Для вычисления контрольной суммы файла find_postgres.sh, входящего в RPM-пакет KgAgent, выполните команду:
rpm -qp --dump kgagent-X.X.X-XX.x86_64.rpm | grep find_postgres.sh
, где: X.X.X-XX – версия компонента.
Настройка интеграций#
Настройка интеграции с системой управления секретами#
Настройка интеграции с системой управления секретами конфигурируется в одном из двух блоков:
certificate.secman– если требуется интеграция Kintsugi agent (DBDA) с хранилищем секретов Secret Management System (далее – SecMan).certificate.inmemory– в случае отсутствия интеграции Kintsugi agent (DBDA) с системой управления секретами.
Конфигурация Kintsugi agent (DBDA) для интеграции с SecMan#
Для интеграции с Kintsugi agent с SecMan определите следующие параметры в файле /etc/kgagent/config.yaml:
Параметр |
Пример |
Обязательный к заполнению параметр (Да / Нет) |
Описание |
|---|---|---|---|
|
|
Да |
Адрес хоста SecMan |
|
|
Да |
Путь к KV-хранилищу SecMan |
|
|
Да |
Пространство имен SecMan |
|
|
Да |
Цепочка доверенных удостоверяющих центров для установления безопасного соединения с SecMan |
|
|
Да |
Имя объекта, хранящего данные о сертификатах ТУЗ |
|
|
Да |
Имя объекта, хранящего данные о персональном сертификате ТУЗ |
|
|
Да |
Имя объекта, хранящего данные о цепочке доверенных удостоверяющих центров для безопасного соединения с Kintsugi (DBCM) |
|
|
Да |
Адрес аутентификации Kintsugi agent в сервисе SecMan |
|
|
Да |
Директория в которую помещен файл с параметрами доступа |
|
|
Да |
Имя приватного ключа для шифрования. Для публичного ключа добавляется суффикс |
|
|
Да |
Зашифрованный файл хранилища |
|
|
Нет |
Опциональная строка-контекст для деривации, может являться частью составного ключа шифрования |
Конфигурация Kintsugi agent (DBDA) в случае отсутствия интеграции с HashiCorp Vault#
В случае отсутствия интеграции с HashiCorp Vault выполните конфигурацию следующих параметров:
Параметр |
Пример |
Обязательный к заполнению параметр (Да / Нет) |
Описание |
|---|---|---|---|
|
|
Да |
Путь к файлу персонального сертификата технической учетной записи (ТУЗ). Параметр используется при отсутствии интеграции с сервисом SecMan |
|
|
Да |
Путь к файлу цепочки сертификатов удостоверяющих центров. Параметр используется при отсутствии интеграции с сервисом SecMan |
Настройка интеграции Kintsugi agent (DBDA) с системой Kintsugi (DBCM)#
Для настройки интеграции Kintsugi agent (DBDA) с системой Kintsugi (DBCM) определите следующие параметры в файле /etc/kgagent/config.yaml:
Параметр |
Пример |
Обязательный к заполнению параметр (Да / Нет) |
Описание |
|---|---|---|---|
|
|
Нет |
Период (в секундах) проверки жизни подсистем сервиса |
|
|
Нет |
Максимальное время (в секундах), в течение которого сервис ожидает подтверждения работоспособности его подсистем |
|
|
Нет |
Максимальное время (в секундах) ожидания штатного завершения работы подсистемы сервиса |
|
|
Нет |
Максимальное время (в секундах) ожидания штатного завершения работы всего сервиса |
|
|
Да |
Точка подключения для аутентификации в сервисе Kintsugi (DBCM) |
|
|
Да |
Базовый URL для аутентификации Kintsugi agent в сервисе Kintsugi (DBCM) |
|
|
Да |
Заголовок, содержащий данные об общем сертификате авторизации ТУЗ в сервисе Kintsugi (DBCM) |
|
|
Нет |
Размер буфера для сбора метрик |
|
|
Нет |
Период сбора метрик |
|
|
Да |
Включение / отключение отправки логов в Fluent Bit |
|
|
Да |
Уровень логирования |
|
|
Да |
Адрес базы данных на хосте (IP/hostname + порт) |
|
|
Да |
Список путей к директориям |
|
|
Да |
Список путей к директориям |
|
|
Да |
Путь до конфигурации PostgreSQL под управлением Pangolin Manager |
|
|
Да |
Путь до конфигурации PostgreSQL под управлением Patroni |
|
|
Да |
Максимальное время (в секундах) выполнения Lua-функции |
|
|
Да |
Путь к директории, где хранится база данных индексов агента для обработки логов. Если значение не указано, то в логах будет ошибка empty log index database directory |
|
|
Да |
Формат строки логов. Значение необходимо взять из |
|
|
Да |
Путь до директории, где расположены логи PostgreSQL |
|
|
Нет |
Периодичность вывода общей статистики о доступном интервале данных лог-файлов в лог приложения |
|
|
Нет |
Периодичность запуска основного цикла обработки логов |
|
|
Нет |
Периодичность освобождения ресурсов чтения лог-файлов (ридеров) |
|
|
Нет |
Настройка таймзоны |
|
|
Нет |
Максимальное количество одновременно инициализированных LuaVM, используемых для параллельного выполнения Lua-функций. Значение подбирается индивидуально в зависимости от нагрузки и ресурсов хост-системы |
|
|
Нет |
Ограничение памяти на |
|
|
Нет |
Список разрешенных Lua-библиотек |
|
|
Да |
Имя / IP-адрес хоста для сбора данных о метриках |
|
|
Нет |
Размер буфера для сбора информации о БД |
|
|
Нет |
Период сбора информации о БД |
|
|
Да |
Команда запуска скрипта поиска файлов СУБД PostgreSQL на хосте |
|
|
Да |
Режим запуска скрипта поиска файлов СУБД PostgreSQL на хосте |
|
|
Нет |
Размер пакета |
|
|
Нет |
Лимит чтения байтов |
|
|
Нет |
Максимальное количество сообщений, которое может быть сохранено одновременно в канале сообщений агента |
|
|
Нет |
Период отправки собранных метрик |
|
|
Да |
Адрес для отправки данных о метриках |
|
|
Да |
Адрес хоста для отправки данных о метриках |
|
|
Нет |
Максимальное значение (в секундах) попытки подключения к agentway |
|
|
Нет |
Минимальное значение (в секундах) попытки подключения к agentway |
|
|
Нет |
Период проверки WebSocket-соединения с agentway |
|
|
Да |
Порт agentway |
|
|
Нет |
Период отправки собранной информации о БД |
|
|
Нет |
Использование защищенного соединения с agentway |
|
|
Нет |
Максимальное количество сообщений от agentway, которое может быть сохранено одновременно в канале системных сообщений |
|
|
Нет |
Время ожидания ответа от agentway при проверке WebSocket-соединения |
Проверка результата#
Для валидации установки Kintsugi agent (DBDA) убедитесь, что:
Выполнена установка Kintsugi agent (DBDA) на хосте с наблюдаемыми БД.
При выполнении команды
systecmtl status kgagentв ответ получаем успешный статус запуска службы.Выполнена интеграция Kintsugi agent (DBDA) с системой управления секретами.
В логе KgAgent присутствует запись о корректном получении секретов из SecMan.
Выполнена интеграция Kintsugi agent (DBDA) с системой Kintsugi (DBCM).
В логе KgAgent присутствует запись об успешном подключении к системе Kintsugi (DBCM).
Лимиты службы KgAgent (
MemoryMaxиCPUQuota) установлены в соответствии с рекомендациями.При выполнении команды
systemctl statusзначенияMemoryиCPUне превышают установленные лимиты.