Диагностика работы модуля Advanced analytics
Шаг 1.
Проверить, что в директории:
/opt/tantor/eco/ssh
лежат ключи:
id_rsa
id_rsa.pub
Для этого выполните:
ls -la /opt/tantor/eco/ssh
Если указанных файлов там нет, то переходим к решению.
- Решение
Если указанные ключи сгенерированы и лежат в домашней папке:
ls -la $HOME/.ssh
То необходимо просто их скопировать:
cp $HOME/.ssh/id_rsa* /opt/tantor/eco/ssh/
Если же их нет и там, то сгенерировать ключи командой:
ssh-keygen -t rsa
И после этого скопировать в требуемую папку:
cp $HOME/.ssh/id_rsa* /opt/tantor/eco/ssh/
Шаг 2.
Проверить доступ с хоста платформы к хосту с целевой БД (выполнять от имени пользователя под которым запущена платформа и для которого сгенерированы ключи):
ssh postgres@<DB host name or ip>
Если вход не осуществляется, то необходимо выполнить:
ssh-copy-id -i /opt/tantor/eco/ssh/id_rsa.pub postgres@<DB host name or ip>
*При выполнении может потребоваться ввести пароль для пользователя postgres
Аналогичное действие если скопировать содержимое ключа id_rsa.pub в файл authorized_keys расположенный на хосте с БД в домашней директории пользователя postgres. Как правило это:
/var/lib/postgresql/
В итоге у вас должен появиться файл:
/var/lib/postgresql/.ssh/authorized_keys
Результат проверить всё той же командой:
ssh postgres@<DB host name or ip>
Шаг 3.
В платформе на вкладке Configurations найти параметр log_line_prefix и убедиться что ему присовено значение(после %a идёт знак пробела):
%m [%p:%v] [%d] %r %a
Если нет то поменяйте его.
Шаг 4.
Убедитесь что логирование включено. В платформе на вкладке Configurations найти параметр logging_collector и убедиться что ему присовено значение:
on
Если нет то поменяйте его.
Шаг 5.
# Настройки для Advanced analytics BEGIN logging_collector = on log_line_prefix = '%m [%p:%v] [%d] %r %a ' log_lock_waits = on lc_messages = 'en_US.UTF-8' 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 # Обязательное условие log_filename = 'postgresql-%F.log' # требуется минимально для сбора логов со стороны Advanced Analytics log_destination = 'stderr' # минимум none для показа ошибок log_statement = 'none' # Для СУБД типа PostgresPro вместо ‘pg_stat_statements , pg_store_plans’ указать pgpro_stats shared_preload_libraries = 'pg_stat_statements, pg_store_plans, auto_explain' # Настройки для Advanced analytics END |
Шаг 6.
Перезапустите контейнер отвечающий за аналитику:
docker restart pg_monitor_collector
Шаг 7.
Проверьте работу модуля.
Если проблема всё еще не решена — обращайтесь в поддержку.