mxpacklogs

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

1 Описание

  • Функции

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

    • Логи, собранные с каждого хоста, временно сохраняются в каталоге /tmp. При заполнении диска возникает ошибка.
    • В крайних случаях, когда все узлы кластера недоступны, используйте опции --host и --path, чтобы указать --hosts и --base-data-dirs для извлечения логов.

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

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

Опция Описание
--base-data-dirs Базовые каталоги данных базы данных, разделённые запятыми
--hosts Хосты, с которых собираются логи Segment, разделённые запятыми
--config Файл конфигурации. По умолчанию: $HOME/.mxctl.yaml
-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. По умолчанию: /usr/local/matrixdb
--port Порт сервера supervisor. По умолчанию: 4617
-U / --username Имя пользователя базы данных. По умолчанию: mxadmin
--validate Режим проверки — выполняется пробный запуск без реальных изменений
--verbose Включить подробный вывод логов
-v / --version Показать версию инструмента

3 Примеры

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

  • При запуске на Master рекомендуется использовать пользователя mxadmin. Если используется другой пользователь, необходимо соответствующим образом настроить доверие в pg_hba.
  • При удалённом запуске на не-Master узле должны быть выполнены следующие условия:
    • На сервере базы данных и на сервере выполнения должна быть установлена версия MatrixDB 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>@<host> ~]$ 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.

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