Depuração e solução de problemas de proxies Node.js

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

Recomendamos verificar se o código Node.js adicionado a um proxy funciona antes da implantação para o Edge. Este tópico discute maneiras de depurar e solucionar problemas de proxies que incluem o Node.js depois da implantação.

Aumentando o tamanho do pool de conexões para melhorar o desempenho

Se o desempenho estiver lento, tente solucionar o problema aumentando as Tamanho do pool de conexão do Node.js com maxSockets ou ao desativar o pooling de soquetes. Para mais informações e exemplos de código, consulte Node.js Dicas de desempenho: pool de soquetes na comunidade Apigee.

Como visualizar registros do Node.js

Para ver informações de registro sobre seu aplicativo Node.js:

  1. Na página principal de proxies da API, clique no proxy que você quer visualizar.
  2. Na página de resumo do proxy selecionado, clique em Registros do Node.js no no lado direito da barra de ferramentas.
.

Na página "Registros", selecione um intervalo de tempo para exibir os registros, conforme mostrado abaixo. Os registros gravam chamadas de método HTTP, sucesso ou falha de chamadas, mensagens console.log e assim por diante. Digite uma pesquisa string no campo de pesquisa para exibir todas as entradas de registro que contêm a string.

Como usar a ferramenta de rastreamento

A ferramenta de rastreamento é útil para depuração geral do proxy. Para informações detalhadas sobre como usar o ferramenta de trace, consulte Usar o Trace .

Saída do console de impressão

É possível incorporar instruções console.log ao código Node.js e visualizar a saída no trace . Por exemplo, a instrução a seguir imprime o valor da variável config.user:

console.log('Logging in as %s', config.username);

Para ver a saída das mensagens de console.log na ferramenta de rastreamento, chame na ferramenta Trace e clique em Saída de todas as transações para abra o painel de saída:

Supondo que você executou o seguinte código...

var http = require('http');

console.log('node.js application starting...');

var svr = http.createServer(function(req, resp) {
    resp.end('Hello, World!');
});

svr.listen(9000, function() {
    console.log('Node HTTP server is listening');
});

... as instruções do console aparecem no painel:

Como definir configurações de tempo limite do destino do Nginx

Se você estiver usando o Nginx como proxy e encontrar a mensagem "Gateway inválido" erros, tente aumentar o proxy Nginx de tempo limite padrão conforme explicado aqui:

Exemplo:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Dependendo do tempo que o servidor leva para responder, pode determinar o tempo limite ideal personalizadas. Por exemplo, um tempo limite de leitura de 45 a 60 segundos pode ser ideal para fornecer uma tempo suficiente.

Como definir as configurações de tempo limite do destino da Apigee

Também é possível configurar os valores de tempo limite padrão da Apigee no elemento HttpTargetConnection. no TargetEndpoint. Os valores padrão são:

connect.timeout.millis - 60 seconds
io.timeout.millis - 120 seconds
<HTTPTargetConnection>
    <Properties>
        <Property name="connect.timeout.millis">5000</Property>
        <Property name="io.timeout.millis">5000</Property>
    </Properties>
    <URL>http://www.google.com</URL>
</HTTPTargetConnection>

Consulte também a Referência de propriedades do endpoint.

Mais informações

Para saber mais sobre depuração, consulte:

Próximas etapas

Para informações sobre o suporte ao módulo Node.js no Apigee Edge, incluindo informações sobre suporte para HTTP/HTTPS, TLS e outros tópicos avançados, consulte Noções básicas sobre o suporte do Edge para módulos Node.js.