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á em execução. 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 seu sistema e armazena os dados em um arquivo. Para componentes da 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

Esta seção explica como instalar o sosreport.

Se a versão SoS do sosreport 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 agigee-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 da Apigee.

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 gatehring 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

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 de top e jstacks sequenciais (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 do 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 do 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 do 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, na sigla em inglês):

  • 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 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 do SoS do sosreport:
    sudo sosreport -o apigee-mp --batch

Além de todos os itens padrão, também é possível especificar outros itens opcionais para coletar. Por exemplo, para especificar o despejo de heap usando a flag -k apigee-mp.heap, 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-mp --batch -k apigee-mp.heap
  • Usando a versão do 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 do 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 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-mp --batch -a
  • Usando a versão do 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 do SoS do sosreport:
    sudo sosreport -o apigee-rrt --batch

Além de todos os itens padrão, também é possível especificar outros itens opcionais para coletar. 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 do 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 do 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 do SoS do sosreport:
    sudo sosreport -o apigee-cassandra