Abilitazione dei log di debug NGINX sui router

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

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

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

Prima di iniziare

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

Abilitazione dei log di debug di NGINX sui router

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

Identificazione del file di configurazione dell'host virtuale pertinente

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

  1. Se conosci il nome dell'organizzazione, il nome dell'ambiente e l'host virtuale per la richiesta API specifica di cui vuoi eseguire il debug, determina il file di configurazione dell'host virtuale nel seguente modo:
    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 nel seguente modo:

    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 ls -ltrh comando, vedrai l'output 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 virtuale.

  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

    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 di ricaricamento di NGINX. Ad esempio:
    sudo /opt/nginx/scripts/apigee-nginx reload
  5. Il seguente file acquisirà ora 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.

Verifica che le informazioni di debug siano registrate nel file di log degli errori di NGINX

  1. Una volta che i client effettuano 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 verrà mostrato solo quando il logging di debug è abilitato.

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

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

Questa sezione spiega come disabilitare i log di debug sul router 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 info;

    a

    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 di ricaricamento di NGINX. Ad esempio:
    /opt/nginx/scripts/apigee-nginx reload
  5. Il seguente file acquisirà ora solo i log di errore:
    /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 dei router.

Verifica che nel file di log degli errori di NGINX siano registrate solo le informazioni sugli errori

  1. Effettua alcune richieste API sull'alias host e sulla porta associati alla configurazione dell'host virtuale specifico 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 sugli errori e che le informazioni di debug non vengano più registrate per le richieste.
  4. Se continui a visualizzare informazioni di debug aggiuntive, verifica di aver seguito correttamente tutti i passaggi descritti in Disabilitazione dei log di debug per un host virtuale specifico sul router. Se hai saltato un passaggio, ripeti correttamente tutti i passaggi.
  5. Se ancora non riesci a ottenere le informazioni di debug, contatta l'assistenza di Apigee Edge.