Debug e risoluzione dei problemi dei proxy Node.js

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

È buona norma assicurarsi che il codice Node.js aggiunto a un proxy funzioni prima di eseguirne il deployment su Edge. Questo argomento illustra i modi per eseguire il debug e risolvere i problemi dei proxy che includono applicazioni Node.js dopo il relativo deployment.

Aumento delle dimensioni del pool di connessioni per migliorare le prestazioni

Se noti un rallentamento delle prestazioni, potresti riuscire a risolvere il problema aumentando la dimensione predefinita del pool di connessioni Node.js con maxSockets oppure disattivando del tutto il pooling dei socket. Per ulteriori informazioni e codice di esempio, consulta la pagina dedicata ai suggerimenti sulle prestazioni di Node.js: pool di socket nella community di Apigee.

Visualizzazione dei log Node.js

Per visualizzare le informazioni del log sull'applicazione Node.js:

  1. Nella pagina dei proxy API principali, fai clic sul proxy che vuoi visualizzare.
  2. Nella pagina di riepilogo del proxy selezionato, fai clic su Log Node.js sul lato destro della barra degli strumenti.

Nella pagina Log puoi selezionare un intervallo di tempo per i log da visualizzare, come mostrato di seguito. I log registrano le chiamate ai metodi HTTP, le chiamate riuscite o non riuscite, dei messaggi console.log e così via. Inserisci una stringa di ricerca nel campo di ricerca per visualizzare tutte le voci di log che contengono la stringa.

Utilizzo dello strumento traccia

Lo strumento traccia è utile per il debug generale del proxy. Per informazioni dettagliate sull'uso dello strumento Trace, consulta Utilizzo dello strumento Trace.

Output della console di stampa

Puoi incorporare le istruzioni console.log nel codice Node.js e visualizzare l'output nello strumento di traccia. Ad esempio, l'istruzione seguente stampa il valore della variabile config.user:

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

Per visualizzare l'output dei messaggi console.log nello strumento di traccia, chiama l'API nello strumento di traccia e fai clic su Output da tutte le transazioni per aprire il riquadro di output:

Supponendo che tu abbia eseguito il seguente codice...

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');
});

... le istruzioni della console vengono visualizzate nel riquadro:

Configurazione delle impostazioni di timeout target NGINX

Se utilizzi Nginx come proxy e visualizzi gli errori "Gateway non valido", prova ad aumentare la configurazione del timeout del proxy di Nginx come spiegato di seguito:

Ad esempio:

proxy_connect_timeout       60;
proxy_read_timeout          120;

A seconda del tempo impiegato dal server per rispondere, può determinare le configurazioni di timeout ideali. Ad esempio, un timeout di lettura di 45-60 secondi potrebbe essere l'ideale per fornire un buffer ragionevole.

Configurazione delle impostazioni di timeout del target Apigee in corso...

Puoi anche configurare i valori di timeout predefiniti di Apigee nell'elemento HttpTargetConnection in TargetEndpoint. I valori predefiniti sono:

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>

Vedi anche Riferimento sulle proprietà degli endpoint.

Per maggiori informazioni

Per ulteriori informazioni sul debug, consulta:

Passaggi successivi

Per informazioni sul supporto dei moduli Node.js in Apigee Edge, incluse informazioni sul supporto per HTTP/HTTPS, TLS e altri argomenti avanzati, consulta Informazioni sul supporto di Edge per i moduli Node.js.