Установка компонента Kintsugi agent (DBDA) (опциональный)
Цель выполнения
Установка компонента Kintsugi agent (DBDA) необходима, если необходимо получать метрики хоста (CPU, память) и обнаруживать установленные СУБД (PostgreSQL) на том же хосте, где установлен агент.
Последовательность действий
Установка компонента Kintsugi agent (DBDA) делится на этапы:
Ручная установка
Для установки Kintsugi agent (DBDA) выполните следующие шаги от имени привилегированного пользователя:
-
Распакуйте содержимое архива
kgagent-std.tar.gz:unzip /path/to/standard/DBDA-bin-X.X.X-XX_std-distrib.zip && \tar -xvf /path/to/standard/package/bh/kgagent-std.tar.gz -
Скопируйте пакет
kgagent-X.X.X-XX.x86_64.rpmна хост с наблюдаемой БД и выполните его установку:rpm -i /path/to/standard/kgagent-X.X.X-XX.x86_64.rpm -
Если используются самоподписанные сертификаты, скопируйте сертификаты agent.crt и root_cert.crt из
/path/to/standard/package/conf/conf/secrets/sslна хост с наблюдаемой БД в директорию/etc/kgagent. -
Выполните конфигурацию компонента kgagent:
-
Запустив
/etc/kgagent/configure.shи ответив на вопросы мастера установки:sudo /etc/kgagent/configure.shEnter path to kgagent client certificate [kgagent.crt]: /Абсолютный/путь/к/agent.crtEnter path to root certificate [ca.crt]: /Абсолютный/путь/к/root_cert.crtEnter kintsugi host address [kintsugi.localhost]: ДОМЕН-ИЛИ-IP-АДРЕС-KINTSUGI -
Вручную в файле
/etc/kgagent/config.yaml:Название Значение Описание certificate.inmemory.path_to_client_cert/etc/kgagent/agent.crtПуть до файла сертификата agent.crtcertificate.inmemory.path_to_root_cert/etc/kgagent/root_cert.crtПуть до файла сертификата удостоверяющего центра auth.base_urlhttps://<KINTSUGI_ADDRESS>URL аутентификации auth.api_path/Путь к ресурсу аутентификации auth.header_client_certx-forwarded-client-certЗаголовок запроса с сертификатом технического пользователя uploader.host<KINTSUGI_ADDRESS>Адрес хоста загрузки метрик uploader.port443Порт хоста загрузки метрик uploader.endpoint/agents/streamEndpoint для загрузки метрик uploader.ssl_enabledtrueРежим работы SSL metadata.hosts<OBSERVED_DB_HOST>Перечень адресов хостов наблюдаемых БД luavm.memory_limit512Максимальный объем памяти (в МБ), выделяемый для Lua-машины luavm.execution_timeout_sec300Максимальное время выполнения скрипта в секундах примечаниеДля запуска компонента kgagent из конфигурации по умолчанию необходимо исключить конфигурацию внешнего хранилища секретов certificate.secman.
-
-
Выполните запуск компонента kgagent:
systemctl start kgagent -
Убедитесь, что запуск прошел штатно и журнал событий не содержит ошибок:
systemctl status kgagentjournalctl -u kgagent -
Выполните вход в веб-интерфейс Kintsugi (DBCM) и на вкладке Метрики создайте объект мониторинга для заданной БД.
На дашборде Метрики отобразится информация по собранным метрикам хоста.
Настройка интеграций
Настройка интеграции с системой управления секретами
Для интеграции Kintsugi agent (DBDA) с HashiCorp Vault/Secret Management System (далее – SecMan) определите следующие параметры в файле /etc/kgagent/config.yaml:
| Параметр | Пример | Обязательный к заполнению параметр (Да / Нет) | Описание |
|---|---|---|---|
secman.host | "https://secman-example.test:8443" | Да | Адрес хоста SecMan |
secman.path | "A/DEV/DBCM/KV/example-kintsugi-test/kintsugi-example-test" | Да | Путь к KV-хранилищу SecMan |
secman.namespace | "EXAMPLE_NAMESPACE" | Да | Пространство имен SecMan |
secman.ca_cert | "/path/to/secure_connection.crt" | Да | Цепочка доверенных удостоверяющих центров для установления безопасного соединения с SecMan |
secman.certificate_parameters.secret_name | "kgagent" | Да | Имя объекта, хранящего данные о сертификатах ТУЗ |
secman.certificate_parameters.client_secret_key | "client_cert.secret" | Да | Имя объекта, хранящего данные о персональном сертификате ТУЗ |
secman.certificate_parameters.root_secret_key | "root_cert.secret" | Да | Имя объекта, хранящего данные о цепочке доверенных удостоверяющих центров для безопасного соединения с Kintsugi (DBCM) |
secman.approle.endpoint_login | "auth/approle/login" | Да | Адрес аутентификации Kintsugi agent в сервисе SecMan |
secman.encrypted_storage.data_dir | "./creds" | Да | Каталог для хранения зашифрованных креденшелов |
secman.encrypted_storage.private_key_file | "private.key" | Да | Файл приватного ключа для шифрования креденшелов |
secman.encrypted_storage.encrypted_creds_file | "creds.enc" | Да | Файл зашифрованных креденшелов |
secman.encrypted_storage.key_context | "kgagent:dev:v1.2.3" | Да | Контекст ключа шифрования |
Настройка интеграции Kintsugi agent (DBDA) с системой Kintsugi (DBCM)
Для настройки интеграции Kintsugi agent (DBDA) с системой Kintsugi (DBCM) определите следующие параметры в файле /etc/kgagent/config.yaml:
| Параметр | Пример | Обязательный к заполнению параметр (Да / Нет) | Описание |
|---|---|---|---|
application.svc_shutdown_timeout_sec | 10 | Нет | Максимальное время (в секундах) ожидания штатного завершения работы подсистемы сервиса |
application.svc_ping_period_sec | 15 | Нет | Период (в секундах) проверки жизни подсистем сервиса |
application.svc_ping_timeout_sec | 30 | Нет | Максимальное время (в секундах), в течение которого сервис ожидает подтверждения работоспособности его подсистем |
application.termination_timeout_sec | 30 | Нет | Максимальное время (в секундах) ожидания штатного завершения работы всего сервиса |
certificate.inmemory.path_to_client_cert | "/path/to/client.crt" | Да | Путь к файлу персонального сертификата технической учетной записи (ТУЗ). Параметр используется при отсутствии интеграции с сервисом SecMan |
certificate.inmemory.path_to_root_cert | "/path/to/root.crt" | Да | Путь к файлу цепочки сертификатов удостоверяющих центров. Параметр используется при отсутствии интеграции с сервисом SecMan |
auth.base_url | "https://example-kintsugi-test" | Да | Базовый URL для аутентификации Kintsugi agent в сервисе Kintsugi (DBCM) |
auth.api_path | "/" | Да | Точка подключения для аутентификации в сервисе Kintsugi (DBCM) |
auth.header_client_cert | "x-forwarded-client-cert" | Да | Заголовок, содержащий данные об общем сертификате авторизации ТУЗ в сервисе Kintsugi (DBCM) |
uploader.host | "kintsugi.localhost" | Да | Адрес хоста для отправки данных о метриках |
uploader.port | 443 | Да | Порт agentway |
uploader.endpoint | "/agents/stream" | Да | Адрес для отправки данных о метриках |
uploader.ssl_enabled | true | Да | Использование защищенного соединения с agentway |
uploader.min_sec_for_reconnect | 10 | Нет | Минимальное значение (в секундах) попытки подключения к agentway |
uploader.max_sec_for_reconnect | 40 | Нет | Максимальное значение (в секундах) попытки подключения к agentway |
scanner.scanner_buffer_size | 10 | Нет | Размер буфера для сбора информации о БД |
scanner.scanner_period_to_collect_sec | 50 | Нет | Период сбора информации о БД |
scanner.script.exec.path | "sudo" | Да | Режим запуска скрипта поиска файлов СУБД PostgreSQL на хосте |
scanner.script.exec.args | ["-u", "postgres", "/usr/share/kgagent/find_postgres.sh"] | Да | Команда запуска скрипта поиска файлов СУБД PostgreSQL на хосте |
collector.collector_buffer_size | 10 | Нет | Размер буфера для сбора информации о БД |
collector.collector_period_to_collect_sec | 10 | Нет | Период сбора информации о БД |
metadata.hosts | - "hostname" - "10.XX.XX.XX" | Да | Имя / IP-адрес хоста для сбора данных о метриках |
session.read_limit_bytes | 32769 | Нет | Лимит чтения (в байтах) |
session.batch_size | 30 | Нет | Размер пакета |
logging.log_level | info | Да | Уровень логирования |
logging.fluent_config.inuse | false | Да | Включение / отключение отправки логов в Fluent Bit |
luavm.memory_limit | 512 | Нет | Максимальный объем памяти (в МБ), выделяемый для Lua-машины |
luavm.execution_timeout_sec | 300 | Нет | Максимальное время выполнения скрипта в секундах |
luavm.max_concurrency | 10 | Нет | Максимальная конкурентность Lua-скриптов |
luavm.database_path.pangolin_manager_config_path | /etc/pangolin-manager/postgres.yml | Да | Путь к конфигурационному файлу Pangolin Manager |
luavm.database_path.patroni_config_path | /etc/patroni/postgres.yml | Да | Путь к конфигурационному файлу Patroni |
luavm.database_path.df_pg_path | /pg* | Да | Маска пути для определения директории PostgreSQL (df) |
luavm.database_path.du_pg_path | /pgdata* | Да | Маска пути для определения директории данных PostgreSQL (du) |
luavm.database_path.db_address | localhost:5432 | Да | Адрес подключения к наблюдаемой БД |
luavm.logger.timezone | Europe/Moscow | Нет | Настройка таймзоны |
luavm.logger.logs_path | /pgdata/logs | Да | Путь до директории, где расположены логи PostgreSQL |
luavm.logger.log_prefix | %m [%p] | Да | Формат строки логов. Значение необходимо взять из log_line_prefix в файле postgres.conf. Если в формате в конце строки присутствует пробел - его тоже нужно прописать |
luavm.logger.print_period_sec | 15s | Нет | Периодичность вывода общей статистики о доступном интервале данных лог-файлов в лог приложения |
luavm.logger.release_period_sec | 3600s | Нет | Периодичность освобождения ресурсов чтения лог-файлов (ридеров) |
luavm.logger.process_period_sec | 10s | Нет | Периодичность запуска основного цикла обработки логов |
luavm.logger.log_index_database_directory | /etc/kgagent/runtime/ | Нет | Каталог для индекса базы данных логов |
Проверка результата
Для валидации установки Kintsugi agent (DBDA) убедитесь, что:
- Выполнена установка Kintsugi agent (DBDA) на хосте с наблюдаемыми БД.
- Выполнена интеграция Kintsugi agent (DBDA) с системой управления секретами.
- Выполнена интеграция Kintsugi agent (DBDA) с системой Kintsugi (DBCM).