Инструмент sosreport

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
info

Sosreport – это инструмент для диагностики и сбора данных на уровне системы, основанный на ПО с открытым исходным кодом SoS. Вы можете использовать инструмент Sosreport для сбора информации, которая поможет вам отладить проблемы в узлах, где запущен компонент Apigee. Инструмент собирает и хранит информацию локально в файловой системе узла.

Инструмент Sosreport собирает сведения о конфигурации, информацию о системе и диагностические данные из вашей системы и сохраняет их в архиве. Для компонентов Apigee Sosreport собирает следующие данные:

  • Версия запущенного ядра.
  • Загруженные модули
  • Файлы конфигурации системы и сервисов

Sosreport также запускает внешние программы для сбора дополнительной информации, в том числе:

  • Журналы Apigee из всех компонентов.
  • Диагностика среды выполнения
  • Диагностические данные Cassandra, собранные с помощью команд nodetool.

В инструменте Sosreport есть две основные команды:

  • sosreport – основная команда для сбора данных и создания отчетов.
  • apigee-sosreport – вспомогательный инструмент, используемый для установки sosreport и управления плагинами sosreport, относящимися к компонентам Apigee.

Установка

В таблице ниже указано, в каких поддерживаемых версиях Edge для частного облака доступен инструмент Sosreport и как его установить.

Версия OPDK Новая установка Обновление на месте
4.50.00.11–4.52.01.00 Требуется установка вручную Требуется установка вручную
4.52.01.01+ Установлено по умолчанию Требуется обновление вручную
Amazon Linux 2023+ Не поддерживается Не поддерживается

Инструмент Sosreport по умолчанию устанавливается на всех узлах при новой установке Edge для Private Cloud 4.52.01.01 и более поздних версий.

Если вы выполнили обновление до версии Edge для частного облака 4.52.01.01 или более поздней, выполните на каждом узле следующую команду, чтобы обновить инструмент Sosreport:

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport update

Чтобы проверить установку и версию инструмента Sosreport и его плагинов, выполните следующую команду:

apigee-service apigee-sosreport version

Чтобы посмотреть список всех плагинов, поддерживающих инструмент Sosreport, используйте следующую команду:

sudo sosreport --list-plugins

Чтобы получить список только плагинов Apigee, выполните следующую команду:

sudo sosreport --list-plugins | grep apigee

Для Edge for Private Cloud версий с 4.50.00.11 по 4.52.01.00 инструмент Sosreport доступен, но может потребоваться ручная настройка в зависимости от вашей среды.

Если версия sosreport для режима SOS уже установлена

Если на вашем компьютере уже установлена исходная версия sosreport от SoS, не устанавливайте версию Apigee, так как пути установки могут конфликтовать. Вместо этого скопируйте плагины для Apigee из каталога /opt/apigee/apigee-sosreport/source/plugin в соответствующий каталог Python site-packages, используя команду, подобную приведенной ниже. Например, чтобы скопировать apigee-mgmt.py:

  • Если вы используете Python 2, введите:
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
  • Если вы используете Python 3, введите:
    sudo cp apigee-mgmt.py /usr/local/lib/python3.6/site-packages/sos/plugins/

Чтобы проверить, установлены ли плагины, введите

sudo sosreport --list-plugins

Если у вас возникнут вопросы, обратитесь в службу поддержки Apigee.

В следующем разделе описано, как установить `sosreport` для версий с 4.50.00.11 по 4.52.01.00.

Установка версии sosreport от Apigee

Если версия SoS sosreport ещё не установлена в вашей системе, вы можете установить версию Apigee, введя следующие команды на всех узлах, где установлено решение Edge для частного облака:

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport install
/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport setup

Чтобы проверить, установлен ли sosreport, убедитесь, что плагины, связанные с Apigee, находятся в следующем каталоге:

/usr/lib/pythonx.x/site-packages/sos/plugins

где pythonx.x – установленная версия Python.

Вы также можете выполнить одну из следующих команд:

  • Как проверить только плагины Apigee
    apigee-service apigee-sosreport diagnose -l

    Будет возвращен следующий список плагинов, относящихся к Apigee:

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
    apigee-mgmt          This is the apigee plugin for edge-management-server
    apigee-mp            This is the apigee plugin for edge-message-processor
    apigee-rrt           This is the apigee plugin for edge-router
    apigee-sample        Main diagnostics gathering class
  • Чтобы проверить все плагины:
    apigee-service apigee-sosreport diagnose -s -l

    Вы увидите список плагинов, доступных для sosreport:

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
     acpid                ACPI daemon information
     alternatives         System alternatives
     anacron              Anacron job scheduling service
     apigee-cassandra     This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mgmt          This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mp            Main diagnostics gathering class
     apigee-rrt           This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
    
    ………………………………………………….
    ………………………………………………….
    ………………………………………………….
    ←truncated→

Создание отчета

Edge for Private Cloud версии 4.52.01.01 и более поздних

Инструмент Sosreport может обнаружить существующие компоненты на узле и создать отчет со всеми журналами, необходимыми для анализа специалистам службы поддержки.

Чтобы создать отчет, используйте следующую команду:

apigee-service apigee-sosreport diagnose

При необходимости можно добавить следующие флаги:

  • -f | --file | --config : путь к файлу конфигурации, используемому при настройке.
    Example: apigee-service apigee-sosreport diagnose -f /path/to/configuration.file
  • -o | --output : перенаправляет созданный отчет sosreport в определенный каталог или по определенному пути.
    Example: apigee-service apigee-sosreport diagnose -o /path/to/output_directory/

Edge for Private Cloud версий с 4.50.00.11 по 4.52.01.00

Чтобы создать отчет с помощью инструмента Sosreport, выполните команду sosreport с нужным плагином (см. раздел Плагины Apigee). По умолчанию отчет сохраняется в каталоге tmp или /var/tmp. Вы можете изменить каталог, в котором хранится отчет, указав другой каталог в параметре tmp-dir. Например, чтобы создать отчет на сервере управления и сохранить его в каталоге my_report-dir, введите одну из следующих команд:

  • Использование версии sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • Использование версии SoS для sosreport:
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

Отчет сохраняется в файле .tar.xz в каталоге, указанном в параметре tmp-dir. Расположение файла .tar.xz и контрольная сумма будут показаны в стандартном потоке вывода. Пример:

Your sosreport has been generated and saved in:
 /var/sosreport-prc-test-0-9613-2021-07-12-orwxufx.tar.xz
The checksum is: 5a8b97c6020346a688254c8b04ef86ec
For more available options for sosreport, read the man file:
sudo man sosreport

Отчет сохраняется в файле .tar.xz в каталоге, указанном в параметре tmp-dir. Местоположение .tar.xz file показано на STDOUT, а также контрольная сумма. Пример:

Чтобы узнать больше о доступных параметрах для sosreport, прочитайте файл man:

sudo man sosreport

Плагины Apigee

В следующих разделах описываются плагины Apigee для инструмента Sosreport для следующие компоненты:

Сервер управления

Плагин apigee-mgmt собирает с сервера управления следующую информацию:

  • имя хоста сервера (по умолчанию);
  • cpuinfo (по умолчанию)
  • meminfo (по умолчанию)
  • Настройки виртуальной машины Java (JVM), например память, Djdk.tls.allowUnsafeServerCertChange и т. д. (по умолчанию).
  • Текущие журналы управления (по умолчанию)
  • 10 последовательных выводов top и jstack (по умолчанию)
  • Вся папка журнала управления (необязательно)
  • config-files (необязательно)

Примеры:

Чтобы собирать все объекты по умолчанию, введите один из следующих вариантов:

  • Использование версии sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • Использование версии sosreport для SoS:
    sudo sosreport -o apigee-mgmt --batch my_report-dir

Чтобы собрать все элементы по умолчанию, а также дополнительные элементы, указанные в команде, например файлы конфигурации и все журналы, введите одну из следующих команд:

  • Использование версии sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs
  • Используя версию sosreport для SoS:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

Чтобы собрать все данные, введите одну из следующих команд:

  • Использование версии sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    Вы также можете ввести:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • Использование версии sosreport для SoS:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    Также можно ввести:

    sudo sosreport -o apigee-mgmt --batch -a

Message Processor

Плагин apigee-mp собирает следующую информацию из процессора управления (MP):

  • Имя хоста сервера (по умолчанию)
  • cpuinfo (по умолчанию)
  • meminfo (по умолчанию)
  • Информация о версии (по умолчанию)
  • apigee-all status (по умолчанию)
  • данные сервера (по умолчанию);
  • Настройки на уровне JVM, например память, Djdk.tls.allowUnsafeServerCertChange и т. д. (по умолчанию).
  • Текущие журналы MP (по умолчанию)
  • 10 последовательных выводов top, jstacks и NIO Metrics (по умолчанию)
  • Вся папка журналов MP (необязательно)
  • Дерево классификации (необязательно)
  • Дамп кучи (необязательно)
  • config-files (необязательно)
  • Трассировка во время выполнения (необязательно, только если указан параметр org:env:api:rev detail). Примечание. Плагин ожидает 25 секунд, чтобы собрать запросы времени выполнения.

Примеры:

Чтобы собирать все объекты по умолчанию, введите один из следующих вариантов:

  • Использование версии sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • Использование версии sosreport для SoS:
    sudo sosreport -o apigee-mp --batch

Вы также можете указать дополнительные необязательные элементы, которые нужно собирать, помимо всех элементов по умолчанию. Например, чтобы указать дамп кучи с помощью флага -k apigee-mp.heap, введите одну из следующих команд:

  • Использование версии sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • Используя версию sosreport для SoS:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

Аналогичным образом можно указать следующие необязательные элементы:

-k apigee-mp.deployments
-k apigee-mp.heap
-k apigee-mp.all-logs
-k apigee-mp.config-files
-k apigee-mp.trace=gsc-cps:test:httpbin:3

В одной команде можно указать несколько вариантов. Пример:

  • Используя версию sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs
  • Использование версии sosreport для SoS:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Чтобы собрать все данные, кроме трассировки, введите одну из следующих команд:

  • Использование версии sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • Использование версии sosreport для SoS:
    sudo sosreport -o apigee-mp --batch -a

Маршрутизатор

Плагин apigee-rrt собирает с маршрутизатора следующие данные:

  • Имя хоста сервера (по умолчанию)
  • cpuinfo (по умолчанию)
  • meminfo (по умолчанию)
  • Информация о версии (по умолчанию)
  • apigee-all status (по умолчанию)
  • данные сервера (по умолчанию);
  • выходные данные команды ps. Это позволит задать настройки на уровне JVM, например память, Djdk.tls.allowUnsafeServerCertChange и т. д. (по умолчанию).
  • Журналы текущего маршрутизатора (по умолчанию)
  • Список названий файлов vhost, включая недопустимые (по умолчанию)
  • Вся папка журналов маршрутизатора (необязательно)
  • config-files (необязательно)

Примеры:

Чтобы собирать все объекты по умолчанию, введите один из следующих вариантов:

  • Использование версии sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • Использование версии sosreport для SoS:
    sudo sosreport -o apigee-rrt --batch

Вы также можете указать дополнительные необязательные элементы для сбора, помимо всех элементов по умолчанию. Например, чтобы указать всю папку журнала с помощью флага -k apigee-rrt.all-logs, введите одно из следующих значений:

  • Используя версию sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • Используя версию sosreport для SoS:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

Аналогичным образом можно указать следующие необязательные элементы:

-k apigee-rrt.all-logs
-k apigee-rrt.config-files

Чтобы собрать все данные:

  • Используя версию sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • Использование версии sosreport для SoS:
    sudo sosreport -o apigee-rrt --batch -a

Cassandra

Плагин apigee-cassandra собирает следующую информацию из узлов Cassandra:

  • Статистика по компьютерам:
    "hostname -i"
    "cat /proc/cpuinfo"
    "cat /proc/meminfo"
    "ulimit -a"
    "ps auxw"
    "df -kh"
    "du -sh"
    "netstat -ntlpu"
    "free -h"
    "ifconfig -h"
    "ps -ef"
  • Статус и версия компонента Apigee apigee-all version && apigee-all status
  • Журналы apigee-cassandra: все файлы в каталоге /opt/apigee/var/log/apigee-cassandra/.
  • Количество журналов фиксации
  • Выходные данные команды Top
  • Дамп потока
  • Файлы конфигурации: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh.
  • Выходные данные Nodetool для следующих параметров: version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

Пример:

Чтобы собирать все элементы по умолчанию, введите одно из следующих значений:

  • Использование версии sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • Используя версию sosreport для SoS:
    sudo sosreport -o apigee-cassandra