Debug e risoluzione dei problemi dei proxy Node.js

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

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

Aumento delle dimensioni del pool di connessioni a migliorare le prestazioni

Se noti prestazioni lente, potresti riuscire a risolvere il problema aumentando il valore predefinito Dimensione del pool di connessioni Node.js con maxSockets oppure disattivando il pooling del socket. Per ulteriori informazioni ed esempi di codice, vedi Node.js Suggerimenti per le prestazioni: pooling di socket nella community Apigee.

Visualizzazione dei log di Node.js

Per visualizzare le informazioni di log sulla tua 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 Node.js Logs on sul lato destro della barra degli strumenti.
di Gemini Advanced.

Nella pagina Log puoi selezionare un intervallo di tempo per i log da visualizzare, come mostrato di seguito. Il record dei log Chiamate al metodo HTTP, chiamate riuscite o non riuscite, messaggi console.log e così via. Inserisci una ricerca nel campo di ricerca per visualizzare tutte le voci di log contenenti la stringa.

Utilizzo dello strumento Tracce

Lo strumento di traccia è utile per il debug generale del proxy. Per informazioni dettagliate sull'uso del consulta la sezione Utilizzo dello strumento lo strumento a riga di comando gcloud.

Output della console di stampa

Puoi incorporare istruzioni console.log nel codice Node.js e visualizzare l'output nella traccia lo strumento a riga di comando gcloud. Ad esempio, la seguente istruzione 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 Trace e fai clic su Output di tutte le transazioni per apri 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 appaiono nel riquadro:

Configurazione delle impostazioni di timeout della destinazione per Nginx

Se utilizzi Nginx come proxy e vedi "Gateway non valido" errori, prova ad aumentare il proxy Nginx del timeout come spiegato qui:

Ad esempio:

proxy_connect_timeout       60;
proxy_read_timeout          120;

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

Configurazione delle impostazioni di timeout della destinazione Apigee

Puoi anche configurare i valori di timeout predefiniti di Apigee nell'elemento HttpTargetConnection nel 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 per le 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 su per HTTP/HTTPS, TLS e altri argomenti avanzati, consulta Informazioni sul supporto Edge per i moduli Node.js.