Инструмент Sosreport

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

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

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

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

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

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

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

  • sosreport : Основная команда для сбора данных и создания отчетов.
  • apigee-sosreport : Вспомогательный инструмент для установки sosreport и управления плагинами sosreport специфичными для компонентов Apigee.

Установка

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

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

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

Для проверки установки и версии инструмента 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 в соответствующий каталог site-packages Python, используя команду, подобную приведенным ниже. Например, чтобы скопировать 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 for Private Cloud:

/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 для частного облака, версии 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 для частного облака, версии 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 (по умолчанию)
  • Папка со всеми журналами управления (необязательно)
  • конфигурационные файлы (необязательно)

Примеры:

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

  • Используя версию 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

Обработчик сообщений

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

  • Имя хоста сервера (по умолчанию)
  • cpuinfo (по умолчанию)
  • meminfo (по умолчанию)
  • Информация о сборке/релизе (по умолчанию)
  • apigee-all status (по умолчанию)
  • Сведения о сервере (по умолчанию)
  • Настройки на уровне JVM, например, память, Djdk.tls.allowUnsafeServerCertChange и т. д. (по умолчанию)
  • Текущие журналы MP (по умолчанию)
  • Вывод десяти последовательных метрик top, jstacks и NIO (по умолчанию)
  • Вся папка с логами MP (необязательно)
  • Классификационное дерево (необязательно)
  • Дамп памяти (необязательно)
  • конфигурационные файлы (необязательно)
  • Трассировка времени выполнения (необязательно и только при предоставлении 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` и так далее (по умолчанию).
  • Текущие журналы маршрутизатора (по умолчанию)
  • Список имен файлов виртуальных хостов, включая некорректные имена файлов (по умолчанию).
  • Вся папка с логами маршрутизатора (необязательно)
  • конфигурационные файлы (необязательно)

Примеры:

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

  • Используя версию 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

Кассандра

Плагин 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