Перейти к основному содержимому

Установка компонента Kintsugi agent (DBDA) (опциональный)

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

Установка компонента Kintsugi agent (DBDA) необходима, если необходимо получать метрики хоста (CPU, память) и обнаруживать установленные СУБД (PostgreSQL) на том же хосте, где установлен агент.

Последовательность действий​

Установка компонента Kintsugi agent (DBDA) делится на этапы:

  1. Ручная установка
  2. Настройка интеграций
  3. Проверка результата

Ручная установка​

Для установки Kintsugi agent (DBDA) выполните следующие шаги от имени привилегированного пользователя:

  1. Распакуйте содержимое архива 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
  2. Скопируйте пакет kgagent-X.X.X-XX.x86_64.rpm на хост с наблюдаемой БД и выполните его установку:

    rpm -i /path/to/standard/kgagent-X.X.X-XX.x86_64.rpm
  3. Если используются самоподписанные сертификаты, скопируйте сертификаты agent.crt и root_cert.crt из /path/to/standard/package/conf/conf/secrets/ssl на хост с наблюдаемой БД в директорию /etc/kgagent.

  4. Выполните конфигурацию компонента kgagent:

    • Запустив /etc/kgagent/configure.sh и ответив на вопросы мастера установки:

      sudo /etc/kgagent/configure.sh
      Enter path to kgagent client certificate [kgagent.crt]: /Абсолютный/путь/к/agent.crt
      Enter path to root certificate [ca.crt]: /Абсолютный/путь/к/root_cert.crt
      Enter kintsugi host address [kintsugi.localhost]: ДОМЕН-ИЛИ-IP-АДРЕС-KINTSUGI
    • Вручную в файле /etc/kgagent/config.yaml:

      НазваниеЗначениеОписание
      certificate.inmemory.path_to_client_cert/etc/kgagent/agent.crtПуть до файла сертификата agent.crt
      certificate.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.

  5. Выполните запуск компонента kgagent:

    systemctl start kgagent
  6. Убедитесь, что запуск прошел штатно и журнал событий не содержит ошибок:

    systemctl status kgagent
    journalctl -u kgagent
  7. Выполните вход в веб-интерфейс 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_sec10НетМаксимальное время (в секундах) ожидания штатного завершения работы подсистемы сервиса
application.svc_ping_period_sec15НетПериод (в секундах) проверки жизни подсистем сервиса
application.svc_ping_timeout_sec30НетМаксимальное время (в секундах), в течение которого сервис ожидает подтверждения работоспособности его подсистем
application.termination_timeout_sec30НетМаксимальное время (в секундах) ожидания штатного завершения работы всего сервиса
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.port443ДаПорт agentway
uploader.endpoint"/agents/stream"ДаАдрес для отправки данных о метриках
uploader.ssl_enabledtrueДаИспользование защищенного соединения с agentway
uploader.min_sec_for_reconnect10НетМинимальное значение (в секундах) попытки подключения к agentway
uploader.max_sec_for_reconnect40НетМаксимальное значение (в секундах) попытки подключения к agentway
scanner.scanner_buffer_size10НетРазмер буфера для сбора информации о БД
scanner.scanner_period_to_collect_sec50НетПериод сбора информации о БД
scanner.script.exec.path"sudo"ДаРежим запуска скрипта поиска файлов СУБД PostgreSQL на хосте
scanner.script.exec.args["-u", "postgres", "/usr/share/kgagent/find_postgres.sh"]ДаКоманда запуска скрипта поиска файлов СУБД PostgreSQL на хосте
collector.collector_buffer_size10НетРазмер буфера для сбора информации о БД
collector.collector_period_to_collect_sec10НетПериод сбора информации о БД
metadata.hosts- "hostname" - "10.XX.XX.XX"ДаИмя / IP-адрес хоста для сбора данных о метриках
session.read_limit_bytes32769НетЛимит чтения (в байтах)
session.batch_size30НетРазмер пакета
logging.log_levelinfoДаУровень логирования
logging.fluent_config.inusefalseДаВключение / отключение отправки логов в Fluent Bit
luavm.memory_limit512НетМаксимальный объем памяти (в МБ), выделяемый для Lua-машины
luavm.execution_timeout_sec300НетМаксимальное время выполнения скрипта в секундах
luavm.max_concurrency10НетМаксимальная конкурентность 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_addresslocalhost:5432ДаАдрес подключения к наблюдаемой БД
luavm.logger.timezoneEurope/MoscowНетНастройка таймзоны
luavm.logger.logs_path/pgdata/logsДаПуть до директории, где расположены логи PostgreSQL
luavm.logger.log_prefix%m [%p]ДаФормат строки логов. Значение необходимо взять из log_line_prefix в файле postgres.conf. Если в формате в конце строки присутствует пробел - его тоже нужно прописать
luavm.logger.print_period_sec15sНетПериодичность вывода общей статистики о доступном интервале данных лог-файлов в лог приложения
luavm.logger.release_period_sec3600sНетПериодичность освобождения ресурсов чтения лог-файлов (ридеров)
luavm.logger.process_period_sec10sНетПериодичность запуска основного цикла обработки логов
luavm.logger.log_index_database_directory/etc/kgagent/runtime/НетКаталог для индекса базы данных логов

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

Для валидации установки Kintsugi agent (DBDA) убедитесь, что:

  1. Выполнена установка Kintsugi agent (DBDA) на хосте с наблюдаемыми БД.
  2. Выполнена интеграция Kintsugi agent (DBDA) с системой управления секретами.
  3. Выполнена интеграция Kintsugi agent (DBDA) с системой Kintsugi (DBCM).