Ferramenta Sosreport

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

O Sosreport é uma ferramenta de diagnóstico e coleta de dados no nível do sistema, baseada no software de código aberto SoS. Use a ferramenta Sosreport para coletar informações que ajudam a depurar problemas em nós em que um componente do Apigee está sendo executado. A ferramenta coleta e armazena informações localmente no sistema de arquivos do nó.

A ferramenta Sosreport coleta detalhes de configuração, informações do sistema e informações de diagnóstico do sistema e armazena os dados em um arquivo. Para componentes do Apigee, o Sosreport coleta o seguinte:

  • A versão do kernel em execução
  • Módulos carregados
  • Arquivos de configuração do sistema e do serviço

O Sosreport também executa programas externos para coletar mais informações, incluindo:

  • Registros da Apigee de todos os componentes.
  • Diagnóstico do ambiente de execução
  • Diagnósticos do Cassandra coletados usando comandos do nodetool.

A ferramenta Sosreport contém dois comandos principais:

  • sosreport: o comando principal para coletar dados e criar relatórios.
  • apigee-sosreport: uma ferramenta auxiliar usada para instalar sosreport e gerenciar plug-ins sosreport específicos para componentes da Apigee.

Instalação

A tabela a seguir detalha a disponibilidade e o método de instalação da ferramenta Sosreport nas versões compatíveis do Edge para nuvem privada.

Versão do OPDK Instalação limpa Upgrade no local
4.50.00.11 - 4.52.01.00 É necessário fazer a instalação manual É necessário fazer a instalação manual
4.52.01.01+ Instalado por padrão Instalado por padrão
Amazon Linux 2023+ Sem suporte Sem suporte

A ferramenta Sosreport vem instalada por padrão em todos os nós ao configurar ou atualizar para o Edge para nuvem privada versões 4.52.01.01 e mais recentes.

Execute o comando a seguir para verificar a instalação e a versão da ferramenta Sosreport e dos plug-ins dela:

apigee-service apigee-sosreport version

Para listar todos os plug-ins compatíveis com a ferramenta Sosreport, use o seguinte comando:

sudo sosreport --list-plugins

Para listar apenas plug-ins específicos do Apigee, execute o seguinte comando:

sudo sosreport --list-plugins | grep apigee

Para as versões do Edge para nuvem privada de 4.50.00.11 a 4.52.01.00, a ferramenta Sosreport está disponível, mas pode exigir configuração manual dependendo do seu ambiente.

Se a versão do sosreport para SOS já estiver instalada

Se a versão original do SoS de sosreport já estiver instalada no seu sistema, não configure a versão do Apigee, porque os caminhos de instalação podem entrar em conflito. Em vez disso, copie os plug-ins específicos do Apigee do diretório /opt/apigee/apigee-sosreport/source/plugin para o diretório Python site-packages apropriado usando um comando como os mostrados abaixo. Por exemplo, para copiar apigee-mgmt.py:

  • Se você estiver usando o Python 2, digite:
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
  • Se você estiver usando o Python 3, digite:
    sudo cp apigee-mgmt.py /usr/local/lib/python3.6/site-packages/sos/plugins/

Para verificar se os plug-ins foram instalados, digite

sudo sosreport --list-plugins

Se você tiver dúvidas, entre em contato com o suporte do Apigee.

A seção a seguir explica como instalar o `sosreport` para as versões 4.50.00.11 a 4.52.01.00.

Instalar a versão da Apigee do sosreport

Se a versão do SoS do sosreport ainda não estiver instalada no seu sistema, instale a versão do Apigee inserindo os seguintes comandos em todos os nós em que o Edge para nuvem privada está instalado:

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

Para testar se o sosreport está instalado, confirme se os plug-ins relacionados ao Apigee estão localizados no seguinte diretório:

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

em que pythonx.x é a versão instalada do Python.

Como alternativa, execute um dos seguintes comandos:

  • Para verificar apenas plug-ins específicos da Apigee:
    apigee-service apigee-sosreport diagnose -l

    Isso retorna a seguinte lista de plug-ins específicos da 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
  • Para verificar todos os plug-ins:
    apigee-service apigee-sosreport diagnose -s -l

    Isso retorna a seguinte lista de plug-ins disponíveis com o 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→

Como criar um relatório

Versões 4.52.01.01 e mais recentes do Edge para nuvem privada

A ferramenta Sosreport pode detectar componentes no seu nó e gerar um relatório de todos os registros necessários para análise pelas equipes de suporte.

Para gerar um relatório, use o seguinte comando:

apigee-service apigee-sosreport diagnose

Você pode adicionar as seguintes flags, se necessário:

  • -f | --file | --config : caminho para o arquivo de configuração usado durante a configuração.
    Example: apigee-service apigee-sosreport diagnose -f /path/to/configuration.file
  • -o | --output : para redirecionar o sosreport gerado para um diretório ou caminho específico
    Example: apigee-service apigee-sosreport diagnose -o /path/to/output_directory/

Versões do Edge para nuvem privada de 4.50.00.11 a 4.52.01.00

Para criar um relatório usando a ferramenta Sosreport, execute o comando sosreport com a opção de plug-in necessária. Consulte Plug-ins do Apigee. O diretório padrão em que o relatório é armazenado é tmp ou /var/tmp. É possível mudar o diretório em que o relatório está armazenado passando um diretório diferente para a opção tmp-dir. Por exemplo, para criar um relatório sobre o servidor de gerenciamento e salvá-lo em um diretório chamado my_report-dir, insira um dos seguintes comandos:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

O relatório é armazenado em um arquivo .tar.xz no diretório especificado usando a opção tmp-dir. O local do arquivo .tar.xz é mostrado em STDOUT, bem como a soma de verificação. Exemplo:

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

O relatório é armazenado em um arquivo .tar.xz no diretório especificado usando a opção tmp-dir. O local do .tar.xz file é mostrado em STDOUT, bem como a soma de verificação. Exemplo:

Para mais opções disponíveis de sosreport, leia o arquivo man:

sudo man sosreport

Plug-ins da Apigee

As seções a seguir descrevem os plug-ins do Apigee para a ferramenta Sosreport nos seguintes componentes:

Servidor de gerenciamento

O plug-in apigee-mgmt coleta as seguintes informações do servidor de gerenciamento:

  • Nome do host do servidor (padrão)
  • cpuinfo (padrão)
  • meminfo (padrão)
  • Configurações da máquina virtual Java (JVM), como memória, Djdk.tls.allowUnsafeServerCertChange e assim por diante (padrão)
  • Registros de gerenciamento atuais (padrão)
  • Dez saídas sequenciais de top e jstacks (padrão)
  • Pasta inteira de registros de gerenciamento (opcional)
  • config-files (opcional)

Exemplos:

Para coletar todos os itens padrão, insira um dos seguintes comandos:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-mgmt --batch my_report-dir

Para coletar todos os itens padrão e também os itens opcionais especificados no comando, por exemplo, arquivos de configuração e todos os registros, insira um dos seguintes comandos:

  • Usando a versão da Apigee de sosreport:
    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
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

Para coletar tudo, insira uma das seguintes opções:

  • Usando a versão da Apigee de sosreport:
    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

    Como alternativa, insira:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    Como alternativa, insira:

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

processador de mensagens

O plug-in apigee-mp coleta as seguintes informações do processador de gerenciamento (MP):

  • Nome do host do servidor (padrão)
  • cpuinfo (padrão)
  • meminfo (padrão)
  • buildinfo/release info (padrão)
  • Status apigee-all (padrão)
  • Detalhes do servidor (padrão)
  • Configurações no nível da JVM, por exemplo, memória, Djdk.tls.allowUnsafeServerCertChange etc. (padrão)
  • Registros do MP atual (padrão)
  • Dez saídas sequenciais de top, jstacks e métricas de NIO (padrão)
  • Pasta inteira de registros do MP (opcional)
  • Árvore de classificação (opcional)
  • Heap dump (opcional)
  • config-files (opcional)
  • Rastreamento de tempo de execução (opcional e somente quando org:env:api:rev detail é fornecido). Observação: o plug-in aguarda 25 segundos para coletar as solicitações de tempo de execução.

Exemplos:

Para coletar todos os itens padrão, insira um dos seguintes comandos:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-mp --batch

Também é possível especificar outros itens opcionais para coletar, além de todos os itens padrão. Por exemplo, para especificar o heap dump, usando a flag -k apigee-mp.heap, insira um dos seguintes comandos:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

Da mesma forma, é possível especificar os seguintes itens opcionais:

-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

É possível especificar várias opções em um único comando. Exemplo:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

Para coletar tudo, exceto o rastreamento, insira um dos seguintes comandos:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-mp --batch -a

Roteador

O plug-in apigee-rrt coleta as seguintes informações do roteador:

  • Nome do host do servidor (padrão)
  • cpuinfo (padrão)
  • meminfo (padrão)
  • buildinfo/release info (padrão)
  • Status apigee-all (padrão)
  • Detalhes do servidor (padrão)
  • Saída ps. Isso vai fornecer configurações no nível da JVM, por exemplo, memória, Djdk.tls.allowUnsafeServerCertChange e assim por diante (padrão).
  • Registros do roteador atual (padrão)
  • Lista de nomes de arquivos vhost, incluindo nomes de arquivos inválidos (padrão).
  • Pasta inteira de registros do roteador (opcional)
  • config-files (opcional)

Exemplos:

Para coletar todos os itens padrão, insira um dos seguintes comandos:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-rrt --batch

Também é possível especificar outros itens opcionais para coletar, além de todos os itens padrão. Por exemplo, para especificar a pasta de registros inteira usando a flag -k apigee-rrt.all-logs, insira uma das seguintes opções:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

Da mesma forma, é possível especificar os seguintes itens opcionais:

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

Para coletar tudo:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-rrt --batch -a

Cassandra

O plug-in apigee-cassandra coleta as seguintes informações dos nós do Cassandra:

  • Estatísticas da máquina:
    "hostname -i"
    "cat /proc/cpuinfo"
    "cat /proc/meminfo"
    "ulimit -a"
    "ps auxw"
    "df -kh"
    "du -sh"
    "netstat -ntlpu"
    "free -h"
    "ifconfig -h"
    "ps -ef"
  • Status e versão do componente da Apigee versão apigee-all && status apigee-all
  • Registros do apigee-cassandra: Todos os arquivos em /opt/apigee/var/log/apigee-cassandra/
  • Contagem de registros de confirmação
  • Saída do comando "top"
  • Despejo de thread
  • Arquivos de configuração: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Saída do Nodetool para os seguintes parâmetros: version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

Exemplo:

Para coletar todos os itens padrão, insira um dos seguintes comandos:

  • Usando a versão da Apigee de sosreport:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • Usando a versão SoS do sosreport:
    sudo sosreport -o apigee-cassandra