Инструмент 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 .

Если SoS-версия sosreport уже установлена

Если в вашей системе уже установлена оригинальная SoS- версия sosreport , не настраивайте версию Apigee, так как пути установки могут конфликтовать. Вместо этого скопируйте плагины Apigee из каталога /opt/apigee/apigee-sosreport/source/plugin в соответствующий каталог Python site-packages с помощью команды, подобной показанной ниже. Например, чтобы скопировать agigee-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 от Apigee

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

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

Чтобы создать отчёт с помощью инструмента 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 и т. д. (по умолчанию)
  • Журналы текущего управления (по умолчанию)
  • Десять последовательных выходных данных top и jstacks (по умолчанию)
  • Вся папка журнала управления (необязательно)
  • конфигурационные файлы (необязательно)

Примеры:

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

  • Используем версию sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • Использование SoS-версии sosreport :
    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
  • Использование SoS-версии sosreport :
    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
  • Использование SoS-версии sosreport :
    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 (по умолчанию)
  • данные сервера (по умолчанию)
  • Настройки уровня JVM, например, память, Djdk.tls.allowUnsafeServerCertChange и т. д. (по умолчанию)
  • Текущие журналы MP (по умолчанию)
  • Десять последовательных выводов top, jstacks и NIO Metrics (по умолчанию)
  • Вся папка журнала MP (необязательно)
  • Дерево классификации (необязательно)
  • Дамп кучи (необязательно)
  • конфигурационные файлы (необязательно)
  • Трассировка времени выполнения (необязательно и только при наличии org:env:api:rev detail ). Примечание: плагин ждёт 25 секунд для сбора запросов времени выполнения.

Примеры:

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

  • Используем версию sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • Использование SoS-версии sosreport :
    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
  • Использование SoS-версии sosreport :
    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
  • Использование SoS-версии sosreport :
    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
  • Использование SoS-версии sosreport :
    sudo sosreport -o apigee-mp --batch -a

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

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

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

Примеры:

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

  • Используем версию sosreport от Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • Использование SoS-версии sosreport :
    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
  • Использование SoS-версии sosreport :
    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
  • Использование SoS-версии sosreport :
    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 и статус apigee-all
  • Логи apigee-cassandra: Все файлы в /opt/apigee/var/log/apigee-cassandra/
  • Количество записей в журнале
  • Вывод команды Top
  • Дамп потока
  • Файлы конфигурации: cassandra-topology.properties , cassandra.yaml , cassandra-env.sh
  • Вывод Nodetool для следующих параметров: версия, статус, кольцо, информация, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

Пример:

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

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