Abilitazione dei log di debug NGINX sui router

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

Su Apigee, i router sono configurati in modo da registrare solo i messaggi di errore nei file di log degli errori per impostazione predefinita. Tuttavia, potrebbero esserci molte situazioni in cui potrebbe essere necessario raccogliere più informazioni per determinare il motivo per cui si è verificato un errore specifico. Uno dei modi per farlo è configurare il router in modo che operi in modalità di debug, in modo da poter recuperare i log di debug, che possono aiutarti a ottenere maggiori informazioni sull'errore e a risolverlo più velocemente.

Questo documento spiega come abilitare i log di debug sul router Apigee Edge per le richieste su un host virtuale specifico. Il logging del debug può essere abilitato per acquisire maggiori informazioni in caso di problemi come una richiesta in formato non corretto, Richiesta errata 400 - Errore certificato SSL, a Northbound (tra l'applicazione client e il router).

Prima di iniziare

  • Se non hai dimestichezza con i log degli errori NGINX e i livelli di logging, consulta la documentazione dei log degli errori NGINX.
  • Raccogli i nomi host virtuali, dell'organizzazione e dell'ambiente delle richieste API per le quali devi raccogliere le informazioni di debug.

Abilitazione dei log di debug NGINX sui router

Questa sezione spiega come abilitare i log di debug sui router perimetrali.

Identificazione del file di configurazioni dell'host virtuale pertinente

I passaggi seguenti spiegano come individuare il file di configurazione dell'host virtuale pertinente sul router:

  1. Se conosci il nome dell'organizzazione, dell'ambiente e dell'host virtuale per la richiesta API specifica di cui vuoi eseguire il debug, determina il file della configurazione dell'host virtuale come segue:
    1. Vai alla directory /opt/nginx/conf.d/.
    2. Cerca il file ORG_NAME_ENV_NAME_VIRTUALHOST.conf nella directory conf.d utilizzando il seguente comando:
      ls -ltrh | grep "ORG_NAME_ENV_NAME_VIRTUALHOST_NAME"
      
  2. Se non conosci il nome dell'organizzazione, puoi identificare il file di configurazione dell'host virtuale utilizzando il nome dell'alias host utilizzato nella richiesta API, come indicato di seguito:

    Vai alla directory /opt/nginx/conf.d/ e cerca hostalias con cui è stata effettuata la richiesta utilizzando il seguente comando:

    ls -ltrh | grep -r 'HOST_ALIAS_NAME'
    

    Esempio di output:

    Supponiamo che il nome dell'alias host sia opdk.cert-test.com. Quando esegui il comando ls -ltrh, vedrai l'output come mostrato di seguito:

Abilitazione del logging di debug per un host virtuale specifico sul router

I passaggi seguenti descrivono come abilitare i log di debug sui router Apigee per un host virtuale specifico.

  1. Apri il seguente file sulla macchina del router in un editor: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf. Ad esempio:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Modifica la seguente riga:
    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    

    a una

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log info;
    
  3. Salva le modifiche.
  4. Esegui il comando NGINX refresh. Ad esempio:
    sudo /opt/nginx/scripts/apigee-nginx reload
    
  5. Il seguente file acquisirà i log di debug:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Se vuoi acquisire i log di debug su più router, ripeti questi passaggi su ciascuno di essi.

La verifica delle informazioni di debug viene registrata nel file di log degli errori NGINX

  1. Dopo che i client effettuano le richieste API sull'alias host e sulla porta associati alla configurazione dell'host virtuale, i log di debug vengono acquisiti nel seguente file:

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

  2. Verifica di visualizzare le informazioni di debug per le richieste API, come mostrato nell'esempio seguente:

    Informazioni di debug di esempio:

    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"
    

    Le informazioni mostrate sopra verranno acquisite quando il client invia una richiesta POST con un payload di grandi dimensioni. Questo log viene visualizzato solo quando è abilitata la registrazione di debug.

  3. Se non vedi informazioni di debug aggiuntive, verifica di aver seguito correttamente tutti i passaggi descritti nella sezione Attivare il logging di debug per un host virtuale specifico sul router. Se hai saltato qualche passaggio, ripeti correttamente tutti i passaggi.
  4. Se ancora non riesci a ottenere le informazioni di debug, contatta l'assistenza Apigee Edge.

Disabilitazione dei log di debug per un host virtuale specifico sul router

Questa sezione spiega come disattivare i log di debug sul router per uno specifico host virtuale.

  1. Apri il seguente file sulla macchina router in un editor: /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf Ad esempio:
    vi /opt/nginx/conf.d/ORG_NAME_ENV_NAME_VIRTUALHOST_NAME.conf
    
  2. Modifica la seguente riga:

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

    a una

    error_log /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log error;
    
  3. Salva le modifiche.
  4. Esegui il comando NGINX refresh. Ad esempio:
    /opt/nginx/scripts/apigee-nginx reload
    
  5. Il seguente file ora acquisirà solo i log degli errori:
    /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
    
  6. Se vuoi interrompere i log di debug su più router, ripeti questi passaggi su ciascuno di essi.

La verifica solo delle informazioni sugli errori viene registrata nel file di log degli errori NGINX

  1. Effettua alcune richieste API sull'alias host e sulla porta associati alla configurazione dell'host virtuale specifica o attendi che i client effettuino le richieste.
  2. Controlla il seguente file: /opt/apigee/var/log/edge-router/nginx/ORG_NAME~ENV_NAME.PORT_error_log
  3. Verifica di visualizzare solo le informazioni sull'errore e che le informazioni di debug non siano più registrate per le richieste.
  4. Se continui a visualizzare ulteriori informazioni di debug che vengono registrate, verifica di aver seguito correttamente tutti i passaggi descritti nella sezione Disattivare i log di debug per un host virtuale specifico sul router. Se hai saltato qualche passaggio, ripeti correttamente tutti i passaggi.
  5. Se ancora non riesci a ottenere le informazioni di debug, contatta l'assistenza Apigee Edge.