Journaliser les journaux d'accès Apigee

Cette page s'applique à Apigee, mais pas à Apigee hybrid.

Consultez la documentation d' Apigee Edge.

Les clients Apigee avec abonnement et paiement à l'usage peuvent activer les journaux d'accès aux entrées Cloud Logging pour chaque instance Apigee de leur organisation. Une fois activée, cette fonctionnalité vous permet d'afficher les journaux générés par les passerelles d'entrée dans votre infrastructure Apigee, telles qu'un équilibreur de charge d'application externe ou une passerelle Anthos, afin de vous aider à résoudre les problèmes liés aux appels d'API Apigee.

Il est important de noter que si cette fonctionnalité est activée pour une ou plusieurs de vos instances Apigee, les journaux envoyés à votre projet vous seront facturés. Pour en savoir plus sur la facturation de Google Cloud pour la journalisation, consultez la section Tarifs de Cloud Logging.

Cet article explique comment les clients Apigee peuvent activer et utiliser les journaux d'accès aux entrées Cloud Logging pour les instances Apigee de leur organisation.

Avant de commencer

Pour activer cette fonctionnalité, vous devez disposer du rôle et des autorisations suivants :

  • Rôles : Administrateur de l'organisation Apigee (roles/apigee.admin)
  • Autorisations :
    • apigee.instances.create
    • apigee.instances.update

Vérifier les rôles

  1. Dans la console Google Cloud, accédez à la page IAM.

    Accéder à IAM
  2. Sélectionnez le projet.
  3. Dans la colonne Compte principal, recherchez la ligne qui contient votre adresse e-mail.

    Si votre adresse e-mail ne figure pas dans cette colonne, cela signifie que vous n'avez aucun rôle.

  4. Dans la colonne Rôle de la ligne contenant votre adresse e-mail, vérifiez si la liste des rôles inclut les rôles requis.

Attribuer les rôles

  1. Dans la console Google Cloud, accédez à la page IAM.

    Accéder à IAM
  2. Sélectionnez le projet.
  3. Cliquez sur Accorder l'accès.
  4. Dans le champ Nouveaux comptes principaux, saisissez votre adresse e-mail.
  5. Dans la liste Sélectionner un rôle, sélectionnez un rôle.
  6. Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez chaque rôle supplémentaire.
  7. Cliquez sur Enregistrer.

Activer la journalisation des accès aux entrées pour vos instances Apigee

Vous pouvez activer la journalisation des accès aux entrées Cloud Logging lorsque vous créez ou modifiez une instance Apigee à l'aide de l'interface * utilisateur Apigee dans la console Cloud ou de l'API.

Pour activer la fonctionnalité lors de la création ou de la mise à jour d'une instance Apigee, suivez les instructions de la page Gérer les instances pour commencer à créer ou à modifier une instance.

Apigee dans la console Cloud

Dans la section Journalisation de la page Créer une instance ou Modifier l'instance :

  1. Cliquez sur le bouton Activer la journalisation pour activer la fonctionnalité.
  2. Si vous le souhaitez, vous pouvez sélectionner un code de réponse HTTP dans la zone Code de réponse afin d'agir en tant que filtre pour les journaux d'accès.

    Si vous souhaitez inclure tous les journaux, quel que soit le code de réponse HTTP, sélectionnez None (all HTTP responses).

    Pour créer un filtre personnalisé, sélectionnez Custom et saisissez le filtre au format suivant :

    status_code > XX && status code <= YY

    Par exemple :

    status_code >= 500 && status_code < 504

  3. Après avoir fourni toutes les informations nécessaires à la création ou à la modification de votre instance, cliquez sur Enregistrer.

API Apigee

Pour mettre à jour une instance existante à l'aide de l'API Apigee, utilisez la commande suivante :

curl "http://apigee.googleapis.com/v1/organizations/ORG_NAME/instances/INSTANCE_NAME?updateMask=access_logging_config.enabled,access_logging_config.filter" \
    -X PATCH -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' -H 'Content-Type: application/json' \
    -d '{ 
      "name": "INSTANCE_NAME",
      "accessLoggingConfig": 
        { 
          "enabled": "true", 
          "filter": "status_code >= 0 && status_code < 600 " 
        }
      }'

Où :

  • ORG_NAME est le nom de votre organisation Apigee.
  • INSTANCE_NAME correspond au nom de l'instance Apigee que vous souhaitez modifier.

Notez que dans cette commande, la valeur spécifiée pour la propriété filter renvoie tous les journaux. Si vous souhaitez filtrer les journaux en fonction de codes d'état HTTP ou d'autres codes d'état, vous pouvez ajuster la valeur filter.

Une fois l'instance créée ou mise à jour, les journaux d'accès aux entrées correspondant à cette instance sont disponibles dans votre projet en quelques minutes.

Afficher les journaux d'accès aux entrées

Une fois la fonctionnalité activée, vous pouvez afficher les journaux d'accès aux entrées des instances de votre projet en quelques minutes à l'aide de l'explorateur de journaux de la console Google Cloud.

Afficher les entrées de journal dans l'explorateur de journaux :

  1. Dans la console Google Cloud, sélectionnez Logging > Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Assurez-vous que votre projet Google Cloud est sélectionné.
  3. Dans l'onglet Requête, saisissez le nom du journal dans le champ de l'éditeur Requête à l'aide de l'une des méthodes suivantes :
    • Pour utiliser le nom du journal, cochez la case :
      1. Cliquez sur la case de sélection Nom du journal pour ouvrir le volet Nom du journal.
      2. Saisissez ingress_instance dans la zone Sélectionner des noms de journaux.
      3. Cliquez sur Appliquer.
      4. Le nom du journal apparaît dans le champ de l'éditeur de requête.
    • Dans le champ de l'éditeur de requête, saisissez directement le nom du journal :

      logName="projects/ORG_NAME/logs/apigee.googleapis.com/ORG_NAME"

      ORG_NAME est le nom de votre organisation Apigee.

  4. Créez le reste de votre requête dans le champ de l'éditeur de requête. Les journaux apparaissent dans la liste Résultats de la requête.
  5. Cliquez sur une entrée de journal pour obtenir plus de détails.

Résoudre les problèmes liés aux journaux d'accès aux entrées

Une fois la fonctionnalité activée et les journaux disponibles dans l'explorateur de journaux, vous pouvez exploiter un certain nombre de fonctionnalités Cloud Logging pour vous aider à résoudre les problèmes, y compris les suivantes :

  • Créer des requêtes à l'aide du langage de requête Cloud Logging

    Vous pouvez récupérer et analyser des journaux lorsque vous utilisez l'explorateur de journaux en écrivant des requêtes dans le champ de l'éditeur de requête et en effectuant des sélections dans les options de menus de filtrage incluses dans les entrées de journal. Pour en savoir plus sur la création de requêtes et l'analyse de données dans l'explorateur de journaux, consultez la page Créer et enregistrer des requêtes à l'aide du langage de requête Cloud Logging.

  • Activer les métriques et les alertes basées sur les journaux

    Vous pouvez définir votre propre métrique basée sur les journaux pour capturer des informations spécifiques à vos instances Apigee. Pour en savoir plus, consultez la page Présentation des métriques basées sur les journaux.

    Vous pouvez créer une règle d'alerte basée sur les journaux à partir de l'explorateur de journaux. Pour en savoir plus et connaître la procédure détaillée, consultez la page Créer une règle d'alerte basée sur les journaux à l'aide de l'explorateur de journaux.

  • Filtrer par codes d'état HTTP

    Vous pouvez affiner vos requêtes dans l'explorateur de journaux afin de les filtrer par codes d'état HTTP, même si vous n'avez pas choisi de filtrer vos journaux d'accès aux entrées par code d'état HTTP lors de l'activation de la fonctionnalité. Pour ajouter ce filtre à votre requête, utilisez le format suivant :

    status_code > XX && status code <= YY

    Par exemple :

    status_code >= 500 && status_code < 504

  • Filtrer par code d'état d'entrée

    En plus du filtrage par code d'état HTTP, vous pouvez créer une requête pour filtrer sur ingress status_code 0. Ce code indique souvent un problème de réseau ou de connectivité empêchant le client de recevoir une réponse du serveur.

Pour obtenir une explication détaillée de toutes les fonctionnalités disponibles dans l'explorateur de journaux, consultez la page Afficher les journaux à l'aide de l'explorateur de journaux.

Désactiver la fonctionnalité

Une fois que vous avez terminé de résoudre les problèmes liés à votre instance Apigee, vous pouvez modifier l'instance pour désactiver la fonctionnalité. Si vous désactivez cette fonctionnalité, l'accès aux journaux ingress_instance sera désactivé dans votre projet et la facturation sera interrompue.

Vous pouvez modifier l'instance pour désactiver la fonctionnalité à l'aide de l'interface utilisateur Apigee dans la console Cloud ou de l'API.

Apigee dans la console Cloud

Pour désactiver la fonctionnalité à l'aide d'Apigee dans la console Cloud, procédez comme suit :

  • Ouvrez l'interface utilisateur d'Apigee dans la console Cloud dans un navigateur.
  • Sélectionnez Gestion > Instances.
  • Cliquez sur l'instance à modifier.
  • Sur la page Détails de l'instance, cliquez sur Modifier.
  • Sur la page Modifier l'instance, cliquez sur le bouton Activer la journalisation pour désactiver la fonctionnalité.
  • Cliquez sur Enregistrer.
  • API Apigee

    Utilisez la commande suivante pour désactiver la fonctionnalité dans votre instance :

    curl "http://apigee.googleapis.com/v1/organizations/ORG_NAME/instances/INSTANCE_NAME?updateMask=access_logging_config.enabled,access_logging_config.filter" \
        -X PATCH -H "Authorization: Bearer $TOKEN" \
        -H 'Accept: application/json' -H 'Content-Type: application/json' \
        -d '{ 
          "name": "INSTANCE_NAME",
          "accessLoggingConfig": 
            { 
                "enabled": "false" 
            }
            }'

    Où :

    • ORG_NAME est le nom de votre organisation Apigee.
    • INSTANCE_NAME correspond au nom de l'instance Apigee que vous souhaitez modifier.