Aggiunta di log alle distribuzioni API

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

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. Puoi specificare che il servizio Gateway API memorizza 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.

Puoi 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 API utilizzando la console per memorizzare i log in Oracle Cloud Infrastructure Logging, effettuare le operazioni riportate di seguito.

  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.

  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. Selezionare Avanti due volte per immettere i dettagli per i singoli instradamenti nella distribuzione API nella pagina Instradamenti e selezionare Mostra criteri di log di instradamento.

  4. Specificare una delle seguenti opzioni come Override livello log di esecuzione che si applica a un singolo instradamento (per eseguire l'override del 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. Selezionare Avanti per esaminare i dettagli immessi per la distribuzione dell'API.
  6. Selezionare Crea o Salva modifiche per creare o aggiornare la distribuzione API.

    La distribuzione API viene visualizzata nella pagina Dettagli distribuzione API.

  7. In Risorse, selezionare Log, quindi selezionare il 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. Selezionare 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 in modo da impostare il livello di log per i log di esecuzione memorizzati in Oracle Cloud Infrastructure Logging, effettuare le operazioni riportate di seguito.

  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 OCI Functions.

    Ad esempio, la seguente specifica di distribuzione API di base definisce una semplice funzione serverless Hello World nelle 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 in un gateway API, il servizio Gateway API 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, selezionare Log, quindi selezionare il nome del log da visualizzare.

In alternativa, puoi 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: