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

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Na Apigee, os roteadores são configurados para registrar apenas as mensagens de erro nos arquivos de registro padrão. No entanto, pode haver muitas situações em que você pode precisar 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 para receber registros, o que ajuda a receber mais informações sobre o erro e resolvê-lo mais rapidamente.

Este documento explica como ativar registros de depuração no roteador do Apigee Edge para as solicitações em um de um host virtual específico. O registro de depuração pode ser ativado para capturar mais informações quando houver problemas como solicitação malformada, 400 Bad Request - SSL Certificate Error, no Sentido norte (entre o aplicativo cliente e o roteador).

Antes de começar

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

Ativar os registros de depuração do NGINX nos roteadores

Nesta seção, explicamos como ativar os 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, do ambiente e do host virtual da API específica que você quer depurar e, em seguida, determine o arquivo de configuração do host virtual da seguinte maneira:
    1. Navegue até o diretório /opt/nginx/conf.d/.
    2. Pesquisar 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, poderá identificar a configuração do host virtual usando o nome de alias do host que é usado na solicitação de API, da seguinte maneira:

    Navegue até o diretório /opt/nginx/conf.d/ e procure hostalias em que a solicitação foi feita usando o seguinte comando:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    Exemplo de resposta:

    Digamos que o nome do alias de host seja opdk.cert-test.com. Quando você executa 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.

  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. Altere 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 alterações.
  4. Execute o comando de recarga do NGINX. Exemplo:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. O arquivo a seguir agora capturará registros de depuração:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Se quiser capturar registros de depuração em mais de um roteador, repita essas etapas em cada um entre os roteadores.

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

  1. Quando os clientes fazem solicitações de API no alias do host e na porta associada ao host virtual os registros de depuração serão capturados no seguinte arquivo:

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

  2. Verifique se você está vendo informações de depuração para as solicitações da API, como 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 só será exibido quando a geração de registros de depuração estiver ativada.

  3. Se você não encontrar informações adicionais de depuração, verifique se seguiu todas as etapas descritas em Ativar a geração de registros de depuração para um host virtual específico no roteador corretamente. Se você tiver perdeu qualquer etapa, repita todas as etapas novamente 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 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 alterações.
  4. Execute o comando de recarga do NGINX. Exemplo:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. O arquivo a seguir agora capturará apenas registros de error:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Para interromper os registros de depuração em mais de um roteador, repita essas etapas em cada um dos entre os Cloud Routers.

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

  1. Faça algumas solicitações de API no alias do host e na porta associada ao host virtual específico ou esperar que os clientes façam as solicitações.
  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 de erro e se as informações de depuração não estão mais registradas para as solicitações.
  4. Se você ainda vir que outras informações de depuração estão sendo registradas, verifique se tem seguiu todas as etapas descritas em Desativação correta dos registros de depuração para um host virtual específico no roteador. Se você tiver perdeu qualquer etapa, repita todas as etapas novamente corretamente.
  5. Se mesmo assim você não conseguir obter as informações de depuração, entre em contato com Suporte do Apigee Edge.