Afficher les journaux acheminés vers Pub/Sub

Ce document explique comment trouver les entrées de journal que vous avez acheminées depuis Cloud Logging vers des sujets Pub/Sub, ce qui s'effectue quasiment en temps 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 routés sont généralement disponibles quelques secondes après leur arrivée dans Logging, et 99% des journaux sont disponibles en moins de 60 secondes.

Avant de commencer

Pour en savoir plus sur les concepts liés aux 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 Acheminer les journaux vers les destinations compatibles.

Voir les journaux

Pour afficher les journaux au fur et à mesure qu'ils sont diffusés via Pub/Sub, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Pub/Sub, puis Sujets:

    Accédez à Topics.

  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. La valeur data (environ 600 caractères) et la valeur 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 de l'observabilité Google Cloud.

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 service tiers de vous fournir 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 le panneau de navigation de la console Google Cloud, sélectionnez Pub/Sub, puis Sujets:

      Accédez à Topics.

    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 la section Définir des autorisations de destination.

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

    1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Pub/Sub, puis Sujets:

      Accédez à Topics.

    2. Sélectionnez votre thème.
    3. Sélectionnez Autorisations.
    4. Sélectionnez Ajouter une autorisation et saisissez le nom du compte de service du 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 tiers s'est abonné au sujet:

    1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Routeur de journaux :

      Accéder au routeur de journaux

    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 service 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 explorer les scénarios courants de routage des journaux à l'aide de Pub/Sub, consultez la section Scénarios d'exportation de données Cloud Logging: Splunk.

Dépannage

Si des journaux semblent être manquants dans la destination de votre récepteur, ou si vous pensez qu'il ne les achemine pas correctement, consultez la section 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. Toutefois, 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 leur stockage plus longtemps que la durée de conservation par défaut du bucket.

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

Pour en savoir plus, consultez les documents suivants :