Como ativar os registros de depuração do NGINX nos roteadores

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Na Apigee, os roteadores são configurados para registrar apenas as mensagens de erro nos arquivos de registros de erros por padrão. No entanto, pode haver muitas situações em que você talvez precise coletar mais informações para determinar por que um erro específico ocorreu. Uma das maneiras de fazer isso é configurar o roteador para operar no modo de depuração. Assim, você recebe registros de depuração, o que ajuda a ter mais informações sobre o erro e a resolvê-lo mais rapidamente.

Neste documento, explicamos como ativar registros de depuração no roteador do Apigee Edge para as solicitações em um host virtual específico. A geração de registros de depuração pode ser ativada para capturar mais informações quando há problemas, como solicitação incorreta, 400 Solicitação inválida - erro de certificado SSL, no Sentido norte (entre o aplicativo cliente e o roteador).

Antes de começar

  • Se você não conhece os registros de erros e os níveis de geração de registros do NGINX, consulte a documentação de registros de erros do NGINX (em inglês).
  • Reúna os nomes de host virtual, de organização e de ambiente das solicitações de API sobre as quais você precisa coletar informações de depuração.

Como ativar os registros de depuração do NGINX nos roteadores

Esta seção explica como ativar registros de depuração nos roteadores de borda.

Como identificar o arquivo de configurações de host virtual relevante

As etapas a seguir descrevem como localizar o arquivo de configuração de host virtual relevante no roteador:

  1. Se você souber o nome da organização, o nome do ambiente e o host virtual da solicitação de API específica que você quer depurar, determine o arquivo de configuração do host virtual da seguinte maneira:
    1. Navegue até o diretório /opt/nginx/conf.d/.
    2. Pesquise o arquivo ORG_NAME_ENV_NAME_VIRTUALHOST.conf no diretório conf.d usando o seguinte comando:
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
      
  2. Se você não souber o nome da organização, identifique o arquivo de configuração do host virtual usando o nome do alias do host usado na solicitação de API da seguinte maneira:

    Navegue até o diretório /opt/nginx/conf.d/ e pesquise hostalias que usou o comando a seguir para fazer a solicitação:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    Exemplo de saída:

    Digamos que o nome do alias do host seja opdk.cert-test.com. Ao executar o comando ls -ltrh, você verá a saída conforme mostrado abaixo:

Como ativar a geração de registros de depuração para um host virtual específico no roteador

As etapas a seguir descrevem como ativar registros de depuração nos roteadores da Apigee para um host virtual específico.

  1. Abra o seguinte arquivo na máquina roteador em um editor: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. Por exemplo:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Mude a seguinte linha:
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    

    a

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    
  3. Salve as mudanças.
  4. Execute o comando de atualização do NGINX. Por exemplo:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. O seguinte arquivo agora vai capturar registros debug:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Se você quiser capturar registros de depuração em mais de um roteador, repita essas etapas em cada um deles.

Como verificar se as informações de depuração estão registradas no arquivo de registros de erros do NGINX

  1. Depois que os clientes fazem solicitações de API no alias do host e na porta associada à configuração do host virtual, os registros de depuração são capturados no seguinte arquivo:

    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log

  2. Verifique se as informações de depuração das solicitações de API estão sendo exibidas, conforme mostrado no exemplo a seguir:

    Exemplo de informações de depuração:

    2021/01/27 02:48:40 [warn] 27624#27624: *3777 a client request body is buffered to a temporary file /opt/apigee/var/log/edge-router/nginx/client_temp/0000000001, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "POST /post-no-target HTTP/1.1", host: "XX.XX.XX.XX:443"
    

    As informações mostradas acima serão capturadas quando o cliente enviar uma solicitação POST com um payload grande. Esse registro será mostrado apenas quando a geração de registros de depuração estiver ativada.

  3. Se você não encontrar outras informações de depuração, verifique se seguiu todas as etapas descritas em Como ativar a geração de registros de depuração para um host virtual específico no roteador. Se você esqueceu alguma etapa, repita todas as etapas corretamente.
  4. Se mesmo assim você não conseguir acessar as informações de depuração, entre em contato com o suporte do Apigee Edge.

Como desativar registros de depuração para um host virtual específico no roteador

Esta seção explica como desativar os registros de depuração no roteador para um host virtual específico.

  1. Abra o seguinte arquivo na máquina do roteador em um editor: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf Por exemplo:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Altere a seguinte linha:

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    

    a

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    
  3. Salve as mudanças.
  4. Execute o comando de atualização do NGINX. Por exemplo:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. O seguinte arquivo agora captura apenas registros de erro:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Se você quiser interromper os registros de depuração em mais de um roteador, repita essas etapas em cada um deles.

A verificação apenas de informações de erros está registrada no arquivo de registros de erros do NGINX

  1. Faça algumas solicitações de API no alias do host e na porta associada à configuração específica do host virtual ou aguarde as solicitações dos clientes.
  2. Verifique o seguinte arquivo: /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. Verifique se você está vendo apenas as informações do erro e se as informações de depuração não estão mais registradas para as solicitações.
  4. Caso ainda perceba que outras informações de depuração estão sendo registradas, verifique se você seguiu todas as etapas descritas em Como desativar registros de depuração para um host virtual específico no roteador corretamente. Se você esqueceu alguma etapa, repita todas as etapas corretamente.
  5. Se ainda assim não for possível conseguir as informações de depuração, entre em contato com o suporte do Apigee Edge.