Диагностика работы модуля Advanced analytics
Ссылка на статью с настройкой модуля: https://docs.tantorlabs.ru/tp/5.0/pg_monitor_installation.html
Шаг 1.
Проверить, что в директории /opt/tantor/eco/ssh присутствует файл id_rsa.pub
Для этого выполните:
Если указанных файлов там нет, проверяем создан ли у пользователя первичный ключ, посмотрев содержимое папки пользователя ~./ssh/:
Если файл с публичным ключом в указанном каталоге присутствует, то его необходимо скопировать в папку /opt/tantor/eco:
Если же их нет и там, то необходимо сгенерировать ключи командой:
passphrase в данном случае не нужно указывать, нам требуется автоматическая авторизация по ключу
И после этого скопировать в требуемую папку:
Убедимся что ключ успешно скопирован
Шаг 2.
Проверить доступ с хоста платформы к хосту с целевой БД (выполнять от имени пользователя под которым запущена платформа и для которого сгенерированы ключи):
В данном случае мы видим, что ключи не скопированы и требуется ввод пароля
Для того, чтобы авторизация осуществлялась по ключу необходимо скопировать публичный ключ на хост с наблюдаемой б.д. :
*При выполнении ssh-copy-id потребуется ввести пароль для пользователя postgres, который должен быть заранее установлен на хосте с наблюдаемой базой данных.
Проверяем результат :
*Данный способ передачи ключа на удаленный хост приводится как пример, вы можете воспользоваться любым известным вам способом организации авторизации по ssh ключам без указания пароля
Шаг 3.
На хосте с наблюдаемой базой данных убедиться что установлено расширение pg_stat_statements.
Если расширение pg_stat_statements не установлено, установите его следующей командой
Шаг 4.
На хосте с наблюдаемой базой данных убедиться что добавлены разрешения в файле pg_hba.conf
Если нет то добавьте эти правила. Должна выполняться
Шаг 5.
Убедитесь что предыдущие шаги выполнены верно, выполнив проверку
Если данная команда не выполняется, проверьте предыдущие шаги
Шаг 6.
Для отображения логов обязательными параметрами postgresql являются
Шаг 7.
# Настройки для Advanced analytics BEGIN log_lock_waits = on auto_explain.log_analyze = on auto_explain.log_buffers = on track_io_timing = on auto_explain.log_nested_statements = 'true' # установить подходящее вам значение deadlock_timeout = 1000ms log_min_duration_statement = 10s pg_store_plans.min_duration = 10s auto_explain.log_min_duration = 10s |
Шаг 8.
На хосте с установленной платформой тантор перезапустите контейнер отвечающий за сбор данных модуля расширенная аналитика :
Шаг 9.
Убедиться в том, что соединения от модуля расширенной аналитики проходят до базы данных можно следующим способом
Включить полное логирование в наблюдаемой базе данных
Подождать некоторое время, сбор статистики производится с интервалом 1 минуту
Проанализировать содержимое лог файла на предмет исполнения запросов от модуля
Шаг 10.
Если проблема всё еще не решена — обращайтесь в поддержку.
*Имена хостов приводимые в статье
deb-127-1 192.168.130.159 - хост с развернутой платформой тантор
deb-127-2 192.168.130.150 - хост с наблюдаемой базой данных
Операционная система Debian 12.7