Инструмент sosreport

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

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 для частного облака версии 4.52.01.01 и более поздних.

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

apigee-service apigee-sosreport version

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

sudo sosreport --list-plugins

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

sudo sosreport --list-plugins | grep apigee

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

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

Если на вашем компьютере уже установлена оригинальная версия SoS sosreport, не устанавливайте версию 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

Если на вашем компьютере ещё не установлена версия sosreport для SoS, вы можете установить версию 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
  • Чтобы использовать версию sosreport от SoS:
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

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

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 и т. д. (по умолчанию).
  • Текущие журналы управления (по умолчанию)
  • Десять последовательных результатов команды top и jstacks (по умолчанию)
  • Вся папка журнала управления (необязательно)
  • 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 (по умолчанию)
  • данные сервера (по умолчанию);
  • Настройки на уровне JVM, например память, Djdk.tls.allowUnsafeServerCertChange и т. д. (по умолчанию).
  • Текущие журналы MP (по умолчанию)
  • Десять последовательных результатов top, jstacks и показателей NIO (по умолчанию)
  • Вся папка журнала 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 (по умолчанию)
  • данные сервера (по умолчанию);
  • выходные данные команды ps. Это позволит задать настройки на уровне JVM, например память, Djdk.tls.allowUnsafeServerCertChange и т. д. (по умолчанию).
  • Журналы текущего маршрутизатора (по умолчанию)
  • Список названий файлов виртуальных хостов, включая недопустимые названия файлов (по умолчанию).
  • Вся папка журналов маршрутизатора (необязательно)
  • 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