Afficher les journaux acheminés vers Pub/Sub

Ce document explique comment rechercher les entrées de journal que vous avez acheminées depuis Cloud Logging vers les sujets Pub/Sub, ce qui se produit en temps quasi réel. Nous vous recommandons d'utiliser Pub/Sub pour intégrer les journaux Cloud Logging à des logiciels tiers.

Lorsque vous acheminez des journaux vers un sujet Pub/Sub, Logging publie chaque entrée de journal en tant que message Pub/Sub dès qu'il la reçoit. Les journaux acheminés sont généralement disponibles quelques secondes après leur arrivée dans Logging, 99% des journaux étant disponibles en moins de 60 secondes.

Avant de commencer

Pour une discussion conceptuelle sur les récepteurs, consultez la page Présentation des modèles de routage et de stockage: récepteurs.

Pour savoir comment acheminer vos journaux, consultez la section Router les journaux vers les destinations compatibles.

Afficher les journaux

Pour afficher les journaux au fur et à mesure de leur diffusion via Pub/Sub, procédez comme suit:

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

    Accéder à Topics

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Pub/Sub.

  2. Recherchez ou créez un abonnement au sujet utilisé dans le récepteur de journaux, puis extrayez une entrée de journal. Vous devrez peut-être attendre la publication d'une nouvelle entrée.

Organisation des journaux

Le champ data de chaque message est un objet LogEntry encodé en base64. Un abonné Pub/Sub peut par exemple extraire l'objet suivant d'un sujet qui reçoit des entrées de journal. L'objet affiché contient une liste qui ne comprend qu'un seul message. Notez toutefois que Pub/Sub peut renvoyer plusieurs messages lorsque plusieurs entrées de journal sont disponibles. Les valeurs data (environ 600 caractères) et ackId (environ 200 caractères) ont été raccourcies pour rendre l'exemple plus facile à lire:

{
 "receivedMessages": [
  {
   "ackId": "dR1JHlAbEGEIBERNK0EPKVgUWQYyODM...QlVWBwY9HFELH3cOAjYYFlcGICIjIg",
   "message": {
    "data": "eyJtZXRhZGF0YSI6eyJzZXZ0eSI6Il...Dk0OTU2G9nIjoiaGVsbG93b3JsZC5sb2cifQ==",
    "attributes": {
     "compute.googleapis.com/resource_type": "instance",
     "compute.googleapis.com/resource_id": "123456"
    },
    "messageId": "43913662360"
   }
  }
 ]
}

Si vous décodez le champ data et le mettez en forme, vous obtenez l'objet LogEntry suivant :

{
  "log": "helloworld.log",
  "insertId": "2015-04-15|11:41:00.577447-07|10.52.166.198|-1694494956",
  "textPayload": "Wed Apr 15 20:40:51 CEST 2015 Hello, world!",
  "timestamp": "2015-04-15T18:40:56Z",
  "labels": {
    "compute.googleapis.com\/resource_type": "instance",
    "compute.googleapis.com\/resource_id": "123456"
  },
  "severity": "WARNING"
  }
}

Intégration de Pub/Sub avec des services tiers

Logging autorise l'intégration de la journalisation avec des services tiers tels que Splunk. Pour obtenir la liste actuelle des intégrations, consultez la page Partenaires pour les intégrations Google Cloud Observability.

L'acheminement des journaux se fait via un sujet Pub/Sub, et le service tiers les reçoit en s'abonnant au même sujet.

Pour effectuer l'intégration, attendez-vous à effectuer une démarche semblable à la suivante :

  1. Demandez au tiers un nom de compte de service Google Cloud créé à partir de son projet Google Cloud. Par exemple, 12345-xyz@developer.gserviceaccount.com. Ce nom vous permet ensuite d'autoriser le service tiers à recevoir vos journaux.

  2. Dans votre projet contenant les journaux, activez l'API Pub/Sub.

  3. Activez l'API Pub/Sub

    Activer l'API

  4. Créer un sujet Pub/Sub Vous pouvez créer un sujet lors de la configuration d'un récepteur de journaux ou en procédant comme suit:

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

      Accéder à Topics

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Pub/Sub.

    2. Sélectionnez Créer un sujet et saisissez un nom de sujet. Exemple : projects/my-project-id/topics/my-pubsub-topic. Vous acheminez vos journaux vers ce sujet.

      Chaque message envoyé au sujet inclut l'horodatage de l'entrée de journal acheminée dans le message Pub/Sub attributes. Par exemple :

      "attributes": {
        "logging.googleapis.com/timestamp": "2018-10-01T00:00:00Z"
      }
      
    3. Cliquez sur Créer un sujet.

    4. Autorisez Logging à router les journaux vers le sujet. Pour obtenir des instructions, consultez Définir les autorisations de destination.

  5. Autorisez le service tiers à s'abonner à votre sujet :

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

      Accéder à Topics

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Pub/Sub.

    2. Sélectionnez votre thème.
    3. Sélectionnez Autorisations.
    4. Sélectionnez Ajouter une autorisation et saisissez le nom du compte de service tiers.
    5. Dans le menu Sélectionner un rôle, sélectionnez Abonné Pub/Sub.
    6. Cliquez sur Enregistrer.
  6. Fournissez au service tiers le nom de votre sujet Pub/Sub, par exemple projects/my-project-number/topics/my-pubsub-topic. Le service tiers doit d'abord s'abonner au sujet pour que vous puissiez acheminer des journaux.

  7. Commencez à acheminer les journaux une fois que le service tiers s'est abonné au sujet:

    1. Dans la console Google Cloud, accédez à la page Routeur de journaux :

      Accéder au routeur de journaux

      Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

    2. Dans le projet contenant les journaux que vous souhaitez acheminer, cliquez sur Créer un récepteur.
    3. Saisissez un nom et une description pour le récepteur, puis cliquez sur Suivant.
    4. Dans le menu Service du récepteur, sélectionnez Sujet Cloud Pub/Sub.
    5. Dans le menu Sujet Cloud Pub/Sub, sélectionnez le sujet Pub/Sub auquel le tiers est abonné, puis cliquez sur Suivant.
    6. Sélectionnez les journaux à inclure dans le récepteur, puis cliquez sur Suivant.
    7. Facultatif: sélectionnez les journaux à exclure.
    8. Cliquez sur Créer un récepteur.

      Une boîte de dialogue contenant le message Récepteur créé s'affiche. Ce message indique que votre récepteur d'exportation a bien été créé et qu'il dispose des autorisations nécessaires pour écrire les entrées de futurs journaux correspondants dans la destination que vous avez sélectionnée.

Le service tiers devrait commencer à recevoir immédiatement les entrées de journal.

Pour une exploration des scénarios courants de routage des journaux avec Pub/Sub, consultez la page Scénarios d'exportation de données Cloud Logging: Splunk.

Dépannage

Si des journaux semblent manquer à la destination du récepteur ou si vous pensez que votre récepteur ne achemine pas correctement les journaux, consultez la page Résoudre les problèmes liés aux journaux de routage.

Tarification

Cloud Logging ne facture pas l'acheminement des journaux vers une destination compatible. Cependant, la destination peut appliquer des frais. À l'exception du bucket de journaux _Required, Cloud Logging facture la diffusion des journaux dans les buckets de journaux et le stockage plus long que la durée de conservation par défaut du bucket de journaux.

Cloud Logging ne facture pas la copie des journaux, ni les requêtes émises via les pages Explorateur de journaux ou Analyse de journaux.

Pour en savoir plus, consultez les documents suivants :