mxpacklogs

В этом документе описывается инструмент сбора и упаковки логов mxpacklogs.

1 Описание

  • Функции

    • Инструмент mxpacklogs поддерживает однократный сбор и упаковку логов со всех узлов распределённого кластера.
    • Собирает данные логов за период от текущего момента до трёх предыдущих дней.
  • Ограничения

    • Логи со всех указанных хостов агрегируются на том хосте, где выполняется команда mxpacklogs. Эти логи временно сохраняются в каталоге *.tar.gz как пакет в каталоге /tmp. mxpacklogs автоматически выбирает диск с наибольшим объёмом свободного места, к которому у пользователя есть права на чтение и запись, для хранения этих пакетов.
    • В крайних случаях, когда все узлы кластера недоступны, используйте опции --hosts и --base-data-dirs, чтобы получить информацию из логов.

2 Параметры командной строки

В следующей таблице перечислены подробные параметры командной строки:

Параметр Описание
--base-data-dirs Необязательно. По умолчанию инструмент считывает каталоги данных из метаданных базы данных. Указывайте этот параметр только при недоступности базы данных. Укажите путь до уровня каталога mxdata_xxxx; остальное mxpacklogs дополнит автоматически. Пример: mxpacklogs --base-data-dirs /data/mxdata_20230324145536
--hosts --host: по умолчанию собирает логи со всех хостов кластера. Используйте --hosts, чтобы собирать логи только с указанных хостов Segment, что снижает нагрузку на диск и время выполнения. Примеры: mxpacklogs --hosts sdw1,sdw2 или mxpacklogs --hosts sdw1 --hosts sdw2
-h / --dbhost Хост сервера базы данных. По умолчанию: "127.0.0.1"
-p / --dbport Порт сервера базы данных. По умолчанию: "5432"
--debug Включить вывод логов уровня отладки
--help Вывести справочное сообщение
--host Хост, на котором установлен сервис supervisor/mxgate. По умолчанию: "127.0.0.1"
--mode Формат вывода: api или cli. По умолчанию: "api"
-W / --password Пароль пользователя базы данных
--path Путь установки MatrixDB на хосте supervisor. По умолчанию: "/opt/ymatrix/matrixdb5"
--port Порт сервера supervisor. По умолчанию: "4617"
-U / --username Имя пользователя базы данных. По умолчанию: "mxadmin"
--validate Режим проверки — тестовый запуск без выполнения
--verbose Включить подробный вывод логов
-v / --version Показать версию инструмента

3 Примеры

Команду mxpacklogs можно выполнять как на Master-узле, так и на не-Master-узле. Подробности:

  • При запуске на Master рекомендуется использовать пользователя mxadmin. Если используется другой пользователь, необходимо соответствующим образом настроить доверие в pg_hba.
  • При удалённом запуске на не-Master-узле убедитесь, что:
    • На сервере базы данных и на хосте выполнения установлено новое издание YMatrix (версии 4.8.0 или выше).
    • Подключение к Master осуществляется с указанием соответствующих параметров.

Исходя из вышесказанного, мы рекомендуем следующие три сценария использования. В примерах ниже mdw — это Master, а sdw — не-Master-узел:

  1. Запустите mxpacklogs напрямую. Предполагается, что текущий хост является Master и подключается к базе данных для сбора логов со всех Segment.

    [mxadmin@mdw ~]$ mxpacklogs
    [INFO]:-Preparing temp directory...
    [INFO]:-Starting transport server...
    [INFO]:-Gathering logs from 4 hosts...
    [INFO]:-Creating the tarball...
    [INFO]:-All logs packed to: /tmp/gather_logs_2143246856.tar.gz
  2. Выполните следующую команду на любом хосте, указав параметры подключения к Master, чтобы собрать логи со всех Segment (результат аналогичен примеру 1).

    [<user>@<hostname> ~]$ mxpacklogs --dbhost 172.31.33.128 --dbport 5432 --username mxadmin --password 123
    [INFO]:-Preparing temp directory...
    [INFO]:-Starting transport server...
    [INFO]:-Gathering logs from 4 hosts...
    [INFO]:-Creating the tarball...
    [INFO]:-All logs packed to: /tmp/gather_logs_340918649.tar.gz

Примечание!
Примеры 1 и 2 требуют подключения к Master. Следовательно, Master кластера должен находиться в работоспособном состоянии.

  1. Выполните следующую команду на любом хосте, чтобы собрать логи только с указанных хостов (обязательно) и, при необходимости, с указанных каталогов данных.
    [<user>@sdw ~]$ mxpacklogs --hosts sdw1,sdw2 --base-data-dirs /mxdata_20221229075012

    Эта команда собирает логи с sdw1 и sdw2, предполагая, что на обоих хостах параметр base-data-dirs установлен в значение /mxdata_20221229075012.

    [<user>@sdw ~]$ mxpacklogs --hosts sdw1,sdw2 --base-data-dirs /mxdata_20221229075012,/data1/mxdata_20221229075012

    Эта команда собирает логи с sdw1 и sdw2, но их значения base-data-dirs различаются: одно — /mxdata_20221229075012, другое — /data1/mxdata_20221229075012.

Примечание!
Дополнительную информацию о логах см. в разделе Log.