Ajout de la journalisation aux déploiements d'API

Découvrez comment ajouter des stratégies de journalisation aux spécifications d'API précédemment créées à l'aide d'API Gateway.

Une fois que vous aurez créé une passerelle d'API et déployé des API, vous aurez probablement parfois besoin de visualiser des détails sur le flux de trafic entrant et sortant de la passerelle d'API. Par exemple, pour vérifier les réponses renvoyées aux clients d'API ou résoudre les erreurs. Vous pouvez indiquer que le service API Gateway doit stocker les informations relatives aux demandes et aux réponses transitant par une passerelle d'API, ainsi qu'au traitement réalisé au sein de celle-ci, en tant que journaux dans le service Oracle Cloud Infrastructure Logging.

Vous pouvez définir et stocker deux types de journal pour les déploiements d'API dans le service Oracle Cloud Infrastructure Logging :
  • Les journaux d'accès, qui enregistrent un récapitulatif de chaque demande et réponse transitant par la passerelle d'API à destination ou en provenance d'un déploiement d'API. Pour plus d'informations sur le contenu des journaux d'accès, reportez-vous à Journal d'accès de déploiement d'API.
  • Les journaux d'exécution, qui enregistrent des informations relatives au traitement réalisé au sein de la passerelle d'API pour un déploiement d'API. Pour plus d'informations sur le contenu des journaux d'exécution, reportez-vous à Journal d'exécution de déploiement d'API. Vous pouvez spécifier un niveau de journalisation pour les journaux d'exécution comme suit :
    • Informations : permet d'enregistrer un récapitulatif de chaque étape du traitement.
    • Avertissement : permet d'enregistrer uniquement les erreurs non persistantes qui se produisent au cours du traitement. Par exemple, une réinitialisation de la connexion.
    • Erreur : permet d'enregistrer uniquement les erreurs persistantes survenant lors du traitement. Par exemple, une erreur interne ou un appel à une fonction qui renvoie un message 404.

    Vous pouvez définir le niveau de journal d'exécution pour le déploiement d'API. Vous pouvez également définir des niveaux de journal d'exécution distincts pour les divers routages afin de remplacer le niveau de journal d'exécution hérité du déploiement d'API.

Vous pouvez ajouter la journalisation à une spécification de déploiement d'API en :

  • utilisant la console,
  • modifiant un fichier JSON.

Utilisation de la console pour ajouter la journalisation

Utilisation de la console pour configurer et activer les journaux dans Oracle Cloud Infrastructure Logging

Pour configurer et activer les journaux de déploiement d'API à l'aide de la console de façon à les stocker dans Oracle Cloud Infrastructure Logging, procédez comme suit :

  1. Créez ou mettez à jour un déploiement d'API à l'aide de la console, sélectionnez l'option Entièrement nouveau, puis saisissez les détails sur la page Informations de base.

    Pour plus d'informations, reportez-vous à Déploiement d'une API sur une passerelle d'API en créant un déploiement d'API et à Mise à jour d'une passerelle d'API.

  2. Dans la section Stratégies de journalisation d'API de la page Informations de base, indiquez l'une des options suivantes en tant que niveau de journal d'exécution pour enregistrer les informations relatives au traitement réalisé au sein de la passerelle d'API :

    • Information : permet d'enregistrer un récapitulatif de chaque étape du traitement. Il s'agit de l'option par défaut.
    • Avertissement : permet d'enregistrer uniquement les erreurs non persistantes qui se produisent au cours du traitement. Par exemple, une réinitialisation de la connexion.
    • Erreur : permet d'enregistrer uniquement les erreurs persistantes survenant lors du traitement. Par exemple, une erreur interne ou un appel à une fonction qui renvoie un message 404.
  3. Sélectionnez deux fois Suivant pour entrer les détails de chaque routage du déploiement d'API sur la page Routes, puis Afficher les stratégies de journalisation de routage.

  4. Indiquez l'une des options suivantes en tant que remplacement du niveau de journal d'exécution pour un routage donné (pour remplacer le niveau de journal d'exécution hérité du déploiement d'API) :

    • Information : permet d'enregistrer un récapitulatif de chaque étape du traitement.
    • Avertissement : permet d'enregistrer uniquement les erreurs non persistantes qui se produisent au cours du traitement. Par exemple, une réinitialisation de la connexion.
    • Erreur : permet d'enregistrer uniquement les erreurs persistantes survenant lors du traitement. Par exemple, une erreur interne ou un appel à une fonction qui renvoie un message 404.
  5. Sélectionnez Suivant afin de vérifier les détails saisis pour le déploiement d'API.
  6. Sélectionnez Créer ou Enregistrer les modifications pour créer ou mettre à jour le déploiement d'API.

    Le déploiement d'API apparaît sur la page des détails du déploiement d'API.

  7. Sous Ressources, sélectionnez Journaux, puis sélectionnez le curseur Activer la journalisation pour créer et activer un journal de déploiement d'API dans le service Oracle Cloud Infrastructure Logging sur le panneau d'entrée Créer un journal :
    • Compartiment : par défaut, le compartiment en cours.
    • Groupe de journaux : par défaut, le premier groupe de journaux dans le compartiment.
    • Catégorie de journal : choisissez entre Exécution et Accès.
    • Nom de journal : par défaut, <deployment-name>_execution ou <deployment-name>_access, selon la catégorie sélectionnée.

    Pour plus d'informations, reportez-vous à Activation de la journalisation pour une ressource.

  8. Sélectionnez Activer le journal pour créer le journal et l'activer.

Modification d'un fichier JSON pour ajouter la journalisation

Modification d'un fichier JSON pour définir le niveau de journalisation des journaux d'exécution stockés dans Oracle Cloud Infrastructure Logging

Pour modifier la spécification de déploiement d'API dans un fichier JSON afin de définir le niveau de journalisation des journaux d'exécution stockés dans Oracle Cloud Infrastructure Logging, procédez comme suit :

  1. A l'aide de l'éditeur JSON de votre choix, modifiez la spécification de déploiement d'API existante dans laquelle vous voulez définir le niveau de journalisation des journaux d'exécution stockés dans Oracle Cloud Infrastructure Logging, ou créer une spécification de déploiement d'API (reportez-vous à Création d'une spécification de déploiement d'API).

    Au minimum, la spécification de déploiement d'API doit inclure une section routes contenant les éléments suivants :

    • Un chemin. Par exemple, /hello.
    • Des méthodes. Par exemple, GET.
    • La définition d'un back-end. Par exemple, une URL ou l'OCID d'une fonction dans OCI Functions.

    Par exemple, la spécification de déploiement d'API de base suivante définit une fonction simple sans serveur Hello World dans OCI Functions en tant que back-end unique :

    {
      "routes": [
        {
          "path": "/hello",
          "methods": ["GET"],
          "backend": {
            "type": "ORACLE_FUNCTIONS_BACKEND",
            "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
          }
        }
      ]
    }
  2. (Facultatif) Pour définir le niveau de journalisation des journaux d'exécution s'appliquant globalement à l'ensemble des routages dans la spécification de déploiement d'API, procédez comme suit :

    1. Insérez une section loggingPolicies avant la section routes. Par exemple :

      
      {
        "loggingPolicies": {},
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            }
          }
        ]
      }
    2. Indiquez le niveau de détail à enregistrer sur le traitement dans la passerelle d'API pour l'ensemble des routages en incluant la stratégie executionLog dans la section loggingPolicies et en définissant la propriété logLevel sur l'une des valeurs suivantes :

      • INFO : permet d'enregistrer un récapitulatif de chaque étape du traitement.
      • WARN : permet d'enregistrer uniquement les erreurs non persistantes qui se produisent lors du traitement. Par exemple, une réinitialisation de la connexion.
      • ERROR : permet d'enregistrer uniquement les erreurs persistantes qui se produisent lors du traitement. Par exemple, une erreur interne ou un appel à une fonction qui renvoie un message 404.

      Par exemple :

      
      {
        "loggingPolicies": {
          "executionLog": {
            "logLevel": "INFO"
          }
        },
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            }
          }
        ]
      }
  3. (Facultatif) Pour définir le niveau de journalisation des journaux d'exécution d'un routage particulier (et ainsi remplacer le niveau de journal d'exécution global hérité du déploiement d'API), procédez comme suit :

    1. Insérez une section loggingPolicies après la section backend du routage. Par exemple :

      
      {
        "loggingPolicies": {
          "executionLog": {
            "logLevel": "INFO"
          }
        },
        "routes": [
          {
            "path": "/hello",
            "methods": ["GET"],
            "backend": {
               "type": "ORACLE_FUNCTIONS_BACKEND",
               "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
            },
            "loggingPolicies": {}
          }
        ]
      }
    2. Indiquez le niveau de détail à enregistrer sur le traitement dans la passerelle d'API pour le routage donné en incluant la stratégie executionLog dans la section loggingPolicies et en définissant la propriété logLevel sur l'une des valeurs suivantes :

      • INFO : permet d'enregistrer un récapitulatif de chaque étape du traitement.
      • WARN : permet d'enregistrer uniquement les erreurs non persistantes qui se produisent lors du traitement. Par exemple, une réinitialisation de la connexion.
      • ERROR : permet d'enregistrer uniquement les erreurs persistantes qui se produisent lors du traitement. Par exemple, une erreur interne ou un appel à une fonction qui renvoie un message 404.

      Par exemple :

      
      {
        "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. Enregistrez le fichier JSON qui contient la spécification de déploiement d'API.

  5. Utilisez la spécification de déploiement d'API lorsque vous créez ou mettez à jour un déploiement d'API en :

    • spécifiant le fichier JSON dans la console lorsque vous sélectionnez l'option Télécharger une API existante,
    • spécifiant le fichier JSON dans une demande adressée à l'API REST d'API Gateway.

    Pour plus d'informations, reportez-vous à Déploiement d'une API sur une passerelle d'API en créant un déploiement d'API.

  6. Une fois que vous avez défini le niveau de journalisation des journaux d'exécution, suivez les instructions dans Activation de la journalisation pour une ressource pour créer et activer un journal de déploiement d'API dans le service Oracle Cloud Infrastructure Logging.

Visualisation des journaux

Une fois que vous avez ajouté la journalisation à une spécification de déploiement d'API et que l'API a été déployée vers une passerelle d'API, le service API Gateway écrit les journaux en conséquence.

Visualisation des journaux dans Oracle Cloud Infrastructure Logging

Vous pouvez visualiser le contenu d'un journal de déploiement d'API dans Oracle Cloud Infrastructure Logging à partir de la page des détails du déploiement d'API. Sous Ressources, sélectionnez Journaux, puis sélectionnez le nom du journal à visualiser.

Vous pouvez également visualiser le contenu d'un journal de déploiement d'API à partir de la page Recherche de journal d'Oracle Cloud Infrastructure Logging. Reportez-vous à la section Getting a Log's Details.

Pour plus d'informations sur le contenu des journaux d'accès et d'exécution, reportez-vous aux rubriques suivantes :