mxpacklogs

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

1 Описание

  • Функциональность

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

    • Логи со всех указанных хостов агрегируются на том хосте, где выполняется команда mxpacklogs, и временно сохраняются в каталоге /tmp в виде пакета *.tar.gz. 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]:-Подготовка временного каталога...
    [INFO]:-Запуск транспортного сервера...
    [INFO]:-Сбор логов с 4 хостов...
    [INFO]:-Создание архива...
    [INFO]:-Все логи упакованы в: /tmp/gather_logs_2143246856.tar.gz
    ``
  2. Run the following command on any host, specifying connection details to the Master, to collect logs from all Segments (same result as example 1).

    [<user>@<host> ~]$ mxpacklogs --dbhost 172.31.33.128 --dbport 5432 --username mxadmin --password 123
    [INFO]:-Подготовка временного каталога...
    [INFO]:-Запуск транспортного сервера...
    [INFO]:-Сбор логов с 4 хостов...
    [INFO]:-Создание архива...
    [INFO]:-Все логи упакованы в: /tmp/gather_logs_340918649.tar.gz
    ``

Note!
Examples 1 and 2 both require connecting to the Master. Therefore, the cluster's Master must be in a healthy state.

  1. Run the following command on any host to collect logs only from specified hosts (required) and optionally specified data directories.
    [<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.

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