Afficher les journaux acheminés vers Pub/Sub

Ce document explique comment trouver les entrées de journal que vous avez acheminées Cloud Logging aux sujets Pub/Sub, qui se produit en temps quasi réel. Nous vous recommandons d'utiliser Pub/Sub pour intégrer Cloud Logging avec un logiciel tiers.

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

Avant de commencer

Pour en savoir plus sur les concepts de récepteurs, consultez Présentation des modèles de routage et de stockage: récepteurs

Pour savoir comment acheminer vos entrées de journal, consultez Acheminez les journaux vers des destinations compatibles.

Voir les journaux

Pour afficher vos journaux au fur et à mesure qu'ils sont diffusés via Pub/Sub, effectuer les opérations suivantes:

  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 correspond à une LogEntry encodée 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 faciliter la lecture de l'exemple:

{
 "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 le code suivant : Objet LogEntry:

{
  "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

Vous acheminez vos entrées de journal vers un sujet Pub/Sub. Le troisième reçoit vos entrées de journal en s'abonnant au même sujet. Logging permet d'intégrer la journalisation à des services tiers, tels que comme Splunk ou Datadog. Pour obtenir la liste actuelle des intégrations, Consultez la page Partenaires pour les intégrations Google Cloud Observability.

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

  1. Dans le projet d'où proviennent vos entrées de journal, créez votre sujet Pub/Sub avec default subscription (abonnement par défaut) :

    1. Activer l'API Pub/Sub

      Activer l'API

    2. 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 :

    3. Cliquez sur Create topic (Créer un sujet).

    4. Dans le champ ID du sujet, saisissez un ID pour votre sujet. Exemple : projects/my-project-id/topics/my-pubsub-topic.

      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": "2024-07-01T00:00:00Z"
      }
      
    5. Conservez l'option Ajouter un abonnement par défaut. Ne sélectionnez aucune autre option .

    6. Cliquez sur Create topic (Créer un sujet).

  2. Dans le projet d'où proviennent les entrées de journal, configurez Logging pour acheminer les entrées de journal vers votre 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. Cliquez sur Créer un récepteur. saisissez un nom et une description pour le récepteur, puis cliquez sur Suivant.
    3. Dans le menu Service du récepteur, sélectionnez Sujet Cloud Pub/Sub. sélectionnez le sujet Pub/Sub, puis cliquez sur Suivant.
    4. Sélectionnez les entrées de journal à inclure dans le récepteur, puis cliquez sur Suivant.
    5. Facultatif: sélectionnez les entrées de journal à exclure.
    6. Cliquez sur Créer un récepteur.

      Une boîte de dialogue contenant le message Récepteur créé s'affiche. Ce indique que votre récepteur a bien été créé avec autorisations permettant de router les futures entrées de journal correspondantes vers la destination que vous avez sélectionnée.

    7. Attribuer le rôle Éditeur Pub/Sub (roles/pubsub.publisher) à l'identité du rédacteur du récepteur. Pour en savoir plus sur l'obtention l'identité du rédacteur et l'attribution d'un rôle, consultez Définir les autorisations des destinations

    Cloud Logging envoie désormais des entrées de journal à votre serveur Pub/Sub sur un sujet.

  3. Créez l'abonnement.

    Par exemple, si vous utilisez Dataflow extraire les données de votre sujet Pub/Sub et les envoyer Datadog, vous devez alors effectuer deux étapes:

    1. Créer ou obtenir un compte de service, puis lui accorder Rôles IAM nécessaires pour s'abonner à votre sujet. Au le compte de service requiert les rôles suivants:

      Pour en savoir plus, consultez les documents suivants :

    2. Créer un job à partir d'un modèle, puis exécuter ce job Pour cet exemple, vous devez utiliser la fonction Modèle Pub/Sub vers Datadog

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

Pour explorer les scénarios courants de routage des journaux pour Pub/Sub, consultez Scénarios d'exportation de données Cloud Logging: Splunk

Dépannage

Si des entrées de journal semblent être manquantes dans la destination du récepteur soupçonnez que votre récepteur ne achemine pas correctement les entrées de journal, puis consultez Résoudre les problèmes liés aux journaux de routage

Tarifs

Cloud Logging ne facture pas l'acheminement des journaux vers destination prise en charge ; Toutefois, des frais peuvent s'appliquer à la destination. À l'exception du bucket de journaux _Required, Cloud Logging facture l'insertion de journaux dans des buckets de journaux pour le stockage plus longtemps 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 la page Explorateur de journaux ou la page Analyse de journaux.

Pour en savoir plus, consultez les documents suivants :