Aggiunta di log alle distribuzioni API

Scopri come aggiungere criteri di log alle specifiche API create in precedenza con API Gateway.

Dopo aver creato un gateway API e aver distribuito una o più API, è probabile che si verifichino delle occasioni in cui sarà necessario visualizzare maggiori dettagli sul flusso di traffico verso e fuori il gateway API. Ad esempio, potrebbe essere necessario rivedere le risposte restituite ai client API o risolvere gli errori. È possibile specificare che il servizio Gateway API memorizzi le informazioni sulle richieste e le risposte che passano attraverso un gateway API e le informazioni sull'elaborazione all'interno di un gateway API, come log nel servizio Oracle Cloud Infrastructure Logging.

È possibile definire e memorizzare due tipi di log per le distribuzioni API nel servizio Oracle Cloud Infrastructure Logging:
  • Log degli accessi, che registrano un riepilogo di ogni richiesta e risposta che passa attraverso il gateway API da e verso una distribuzione API. Per ulteriori informazioni sul contenuto dei log degli accessi, vedere Log degli accessi alla distribuzione delle API.
  • Log di esecuzione che registrano le informazioni sull'elaborazione all'interno del gateway API per una distribuzione API. Per ulteriori informazioni sul contenuto dei log di esecuzione, vedere Log di esecuzione della distribuzione delle API. È possibile specificare un livello di log per i log di esecuzione come uno dei seguenti:
    • Informazioni, per registrare un riepilogo di ogni fase di elaborazione.
    • Avvertenza, per registrare solo gli errori transitori che si verificano durante l'elaborazione. Ad esempio, una reimpostazione della connessione.
    • Errore per registrare solo gli errori persistenti che si verificano durante l'elaborazione. Ad esempio, un errore interno o una chiamata a una funzione che restituisce un messaggio 404.

    È possibile impostare un livello di log di esecuzione per una distribuzione API e anche impostare livelli di log di esecuzione diversi per i singoli instradamenti per sostituire il livello di log di esecuzione ereditato dalla distribuzione API.

È possibile aggiungere il log a una specifica di distribuzione API effettuando le operazioni riportate di seguito.

  • utilizzo di Console
  • modifica di un file JSON

Utilizzo della console per aggiungere log

Utilizzo della console per configurare e abilitare i log in Oracle Cloud Infrastructure Logging

Per configurare e abilitare i log di distribuzione delle API utilizzando la console per memorizzare i log in Oracle Cloud Infrastructure Logging:

  1. Creare o aggiornare una distribuzione API utilizzando la console, selezionare l'opzione Da zero e immettere i dettagli nella pagina Informazioni di base.

    Per ulteriori informazioni, vedere Distribuzione di un'interfaccia API in un gateway API mediante la creazione di una distribuzione API e Aggiornamento di un gateway API o di una distribuzione API.

  2. Nella sezione Criteri di log API della pagina Informazioni di base, specificare una delle seguenti opzioni come Livello log di esecuzione per registrare le informazioni sull'elaborazione all'interno del gateway API:

    • Informazioni: registra un riepilogo di ogni fase di elaborazione. Questa è l'opzione predefinita.
    • Avvertenza: registra solo gli errori transitori che si verificano durante l'elaborazione. Ad esempio, una reimpostazione della connessione.
    • Errore: registra solo gli errori persistenti che si verificano durante l'elaborazione. Ad esempio, un errore interno o una chiamata a una funzione che restituisce un messaggio 404.
  3. Fare clic due volte su Successivo per immettere i dettagli relativi ai singoli instradamenti nella distribuzione API nella pagina Instradamenti e fare clic su Mostra criteri di log di instradamento.

  4. Specificare una delle seguenti opzioni come Sostituzione del livello di log di esecuzione che si applica a un singolo instradamento (per sostituire il livello di log di esecuzione ereditato dalla distribuzione API):

    • Informazioni: registra un riepilogo di ogni fase di elaborazione.
    • Avvertenza: registra solo gli errori transitori che si verificano durante l'elaborazione. Ad esempio, una reimpostazione della connessione.
    • Errore: registra solo gli errori persistenti che si verificano durante l'elaborazione. Ad esempio, un errore interno o una chiamata a una funzione che restituisce un messaggio 404.
  5. Fare clic su Successivo per esaminare i dettagli immessi per la distribuzione API.
  6. Fare clic su Crea o su Salva modifiche per creare o aggiornare la distribuzione API.

    La distribuzione API viene visualizzata nella pagina Dettagli distribuzione API.

  7. In Risorse, fare clic su Log, quindi fare clic sul dispositivo di scorrimento Abilita log per creare e abilitare un nuovo log di distribuzione API nel servizio Oracle Cloud Infrastructure Logging nel pannello delle voci Crea log.
    • Compartimento: per impostazione predefinita, il compartimento corrente.
    • Gruppo di log: per impostazione predefinita, il primo gruppo di log nel compartimento.
    • Categoria log: selezionare Esecuzione o Accesso.
    • Nome log: per impostazione predefinita, <deployment-name>_execution o <deployment-name>_access, a seconda della categoria selezionata.

    Per ulteriori informazioni, vedere Abilitazione del log per una risorsa.

  8. Fare clic su Abilita log per creare il nuovo log e abilitarlo.

Modifica di un file JSON da aggiungere alla registrazione

Modifica di un file JSON per impostare il livello di log di esecuzione per i log memorizzati in Oracle Cloud Infrastructure Logging

Per modificare la specifica di distribuzione API in un file JSON e impostare il livello di log per i log di esecuzione memorizzati in Oracle Cloud Infrastructure Logging, procedere come segue.

  1. Utilizzando l'editor JSON preferito, modificare la specifica di distribuzione API esistente in cui si desidera impostare il livello di log per i log di esecuzione memorizzati in Oracle Cloud Infrastructure Logging oppure creare una nuova specifica di distribuzione API (vedere Creazione di una specifica di distribuzione API).

    La specifica di distribuzione API includerà almeno una sezione routes contenente:

    • Un percorso. Ad esempio /hello
    • Uno o più metodi. Ad esempio, GET
    • Definizione di un back end. Ad esempio, un URL o l'OCID di una funzione in Funzioni OCI.

    Ad esempio, la seguente specifica di distribuzione API di base definisce una semplice funzione serverless Hello World in Funzioni OCI come un singolo backend:

    {
      "routes": [
        {
          "path": "/hello",
          "methods": ["GET"],
          "backend": {
            "type": "ORACLE_FUNCTIONS_BACKEND",
            "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
          }
        }
      ]
    }
  2. (Facoltativo) Per impostare il livello di log per i log di esecuzione validi a livello globale per tutti gli instradamenti nella specifica di distribuzione API, effettuare le operazioni riportate di seguito.

    1. Inserire una sezione loggingPolicies prima della sezione routes. Ad esempio:

      
      {
        "loggingPolicies": {},
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            }
          }
        ]
      }
    2. Specificare il livello di dettaglio da registrare sull'elaborazione all'interno del gateway API per tutti gli instradamenti includendo il criterio executionLog nella sezione loggingPolicies e impostando la proprietà logLevel su una delle seguenti opzioni:

      • INFO per registrare un riepilogo di ogni fase di elaborazione.
      • WARN per registrare solo gli errori transitori che si verificano durante l'elaborazione. Ad esempio, una reimpostazione della connessione.
      • ERROR per registrare solo gli errori persistenti che si verificano durante l'elaborazione. Ad esempio, un errore interno o una chiamata a una funzione che restituisce un messaggio 404.

      Ad esempio:

      
      {
        "loggingPolicies": {
          "executionLog": {
            "logLevel": "INFO"
          }
        },
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            }
          }
        ]
      }
  3. (Facoltativo) Per impostare il livello di log per i log di esecuzione per un instradamento specifico (override del livello di log di esecuzione globale ereditato dalla distribuzione API):

    1. Inserisci una sezione loggingPolicies dopo la sezione backend dell'instradamento. Ad esempio:

      
      {
        "loggingPolicies": {
          "executionLog": {
            "logLevel": "INFO"
          }
        },
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            },
            "loggingPolicies": {}
          }
        ]
      }
    2. Specificare il livello di dettaglio da registrare sull'elaborazione all'interno del gateway API per l'instradamento includendo il criterio executionLog nella sezione loggingPolicies e impostando la proprietà logLevel su una delle seguenti opzioni:

      • INFO per registrare un riepilogo di ogni fase di elaborazione.
      • WARN per registrare solo gli errori transitori che si verificano durante l'elaborazione. Ad esempio, una reimpostazione della connessione.
      • ERROR per registrare solo gli errori persistenti che si verificano durante l'elaborazione. Ad esempio, un errore interno o una chiamata a una funzione che restituisce un messaggio 404.

      Ad esempio:

      
      {
        "loggingPolicies": {
          "executionLog": {
            "logLevel": "INFO"
          }
        },
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            },
            "loggingPolicies": {
              "executionLog": {
                "logLevel": "ERROR"
              }
            }
          }
        ]
      }
  4. Salvare il file JSON contenente la specifica di distribuzione API.

  5. Utilizzare la specifica di distribuzione API quando si crea o si aggiorna una distribuzione API nei modi riportati di seguito.

    • specificando il file JSON nella console quando si seleziona l'opzione Carica un'interfaccia API esistente
    • specificando il file JSON in una richiesta all'API REST del gateway API

    Per ulteriori informazioni, vedere Distribuzione di un'interfaccia API in un gateway API mediante la creazione di una distribuzione API.

  6. Dopo aver impostato il livello di log per i log di esecuzione, seguire le istruzioni in Abilitazione del log per una risorsa per creare e abilitare un nuovo log di distribuzione API nel servizio Oracle Cloud Infrastructure Logging.

Visualizzazione dei log

Dopo aver aggiunto il log a una specifica di distribuzione API e aver distribuito l'API su un gateway API, il servizio API Gateway scrive i log di conseguenza.

Visualizzazione dei log in Oracle Cloud Infrastructure Logging

È possibile visualizzare il contenuto di un log di distribuzione API in Oracle Cloud Infrastructure Logging dalla pagina Dettagli distribuzione API. In Risorse, fare clic su Log, quindi sul nome del log che si desidera visualizzare.

In alternativa, è possibile visualizzare il contenuto di un log di distribuzione API dalla pagina Ricerca log di Oracle Cloud Infrastructure Logging. Vedere Recupero dei dettagli di un log.

Per ulteriori informazioni sul contenuto dei log di accesso ed esecuzione, vedere: