Acheminer les journaux vers les destinations compatibles

Ce document explique comment créer et gérer des récepteurs qui acheminent les entrées de journal. provenant d'un projet Google Cloud, vers des destinations compatibles.

Lorsque la destination d'un récepteur n'est pas un bucket de journaux dans le projet Google Cloud d'où provient une entrée de journal, un compte de service est requis. Cloud Logging crée et gère automatiquement ce compte de service. Cependant, vous devrez peut-être modifier les autorisations accordées au de service géré. Vous pouvez créer et gérer un compte de service utilisée par les récepteurs dans plusieurs projets. Pour en savoir plus, consultez Configurez des récepteurs de journaux avec des comptes de service gérés par l'utilisateur.

Présentation

Les récepteurs déterminent la manière dont Cloud Logging achemine les entrées de journal. À l'aide de récepteurs, vous pouvez acheminer tout ou partie les entrées de journal vers les destinations suivantes:

  • Bucket Cloud Logging: stockage dans Cloud Logging. Un bucket de journaux peut stocker des entrées de journal reçus par plusieurs projets Google Cloud. Le bucket de journaux peut se trouver dans le projet d'où proviennent les entrées de journal. dans un autre projet. Vous pouvez combiner Cloud Logging avec d'autres données en mettant à niveau un bucket de journaux pour qu'il utilise l'Analyse de journaux, puis en créant un ensemble de données BigQuery associé. Pour en savoir plus sur l'affichage des entrées de journal stockées dans des buckets de journaux, consultez Présentation des requêtes et de l'affichage des journaux et afficher les journaux acheminés vers des buckets Cloud Logging.
  • Ensemble de données BigQuery: permet de stocker les entrées de journal dans Ensembles de données BigQuery. L'ensemble de données BigQuery peut se trouver dans le projet dans lequel les entrées de journal proviennent ou se trouvent dans un autre projet. Vous pouvez utiliser des fonctionnalités d'analyse de big data sur les entrées de journal stockées. Pour combiner vos données Cloud Logging avec d'autres sources de données, nous vous recommandons de mettre à niveau vos buckets de journaux dans l'Analyse de journaux, puis créer un ensemble de données BigQuery associé. Pour en savoir plus sur l'affichage des entrées de journaux acheminées vers BigQuery, consultez Affichez les journaux acheminés vers BigQuery.
  • Bucket Cloud Storage: ce bucket permet de stocker les entrées de journal dans Cloud Storage. Le bucket Cloud Storage peut se trouver dans le projet dans lequel les entrées de journal proviennent ou se trouvent dans un autre projet. Les entrées de journaux sont stockées sous forme de fichiers JSON. Pour savoir comment afficher les entrées de journal acheminées vers Cloud Storage, consultez la section Afficher les journaux acheminés vers Cloud Storage.
  • Sujet Pub/Sub: fournit la prise en charge des applications des intégrations telles que Splunk Les entrées de journal sont au format JSON, puis acheminées vers un serveur Pub/Sub sur ce sujet. Le sujet peut se trouver dans le projet dans lequel les entrées de journal proviennent ou se trouvent dans un autre projet. Pour plus d'informations sur l'affichage des entrées de journal acheminées vers pour Pub/Sub, consultez Affichez les journaux acheminés vers Pub/Sub.

  • Projet Google Cloud: acheminez les entrées du journal vers un autre projet Google Cloud. Dans les récepteurs du projet de destination traitent les entrées de journal correspondantes.

Les récepteurs appartiennent à une ressource Google Cloud donnée: un projet Google Cloud, un compte de facturation, un dossier ou une organisation. Lorsque la ressource reçoit une chaque récepteur de la ressource traite l'entrée de journal. Lorsqu'un l'entrée de journal correspond aux filtres du récepteur, elle est alors vers la destination du récepteur.

En règle générale, les récepteurs acheminent uniquement les entrées de journal provenant d'une ressource. Toutefois, vous pouvez créer des récepteurs agrégés pour les dossiers et les organisations. qui acheminent les entrées de journal du dossier ou de l'organisation, ressources qu'il contient. Ce document n'aborde pas récepteurs agrégés. Pour en savoir plus, consultez Rassemblez et acheminez les journaux au niveau de l'organisation vers des destinations compatibles.

Pour créer et gérer des récepteurs, vous pouvez utiliser la console Google Cloud, l'API Cloud Logging et la Google Cloud CLI. Nous vous recommandons utilisez la console Google Cloud:

  • La page Routeur de journaux répertorie tous les récepteurs et fournit des options pour gérer vos récepteurs.
  • Lors de la création d'un récepteur, vous pouvez prévisualiser les entrées de journal qui correspondent aux critères les filtres du récepteur.
  • Vous pouvez configurer les destinations des récepteurs lors de leur création.
  • Certaines étapes d'autorisation ont été effectuées automatiquement.

Avant de commencer

Les instructions de ce document décrivent la création et la gestion de récepteurs au niveau au niveau du projet Google Cloud. Vous pouvez suivre la même procédure pour créer un récepteur qui achemine les entrées de journal provenant d'une organisation, d'un dossier compte de facturation Google Cloud.

Pour commencer, procédez comme suit:

  1. Activez l'API Cloud Logging

    Activer l'API

  2. Assurez-vous que votre projet Google Cloud contient des entrées de journal visibles dans l'explorateur de journaux.

  3. Pour obtenir les autorisations nécessaires pour créer, modifier ou supprimer un récepteur, procédez comme suit : demandez à votre administrateur de vous accorder le Rédacteur de configuration des journaux (roles/logging.configWriter) pour votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

    Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

    Pour en savoir plus sur l'attribution de rôles IAM, consultez la page le guide du contrôle des accès de Logging.

  4. Vous disposez d'une ressource dans une destination compatible ou vous pouvez en créer une.

    Pour acheminer des entrées de journal vers une destination, celle-ci doit exister avant vous créez le récepteur. Vous pouvez créer la destination dans n'importe quelle projet Google Cloud dans n'importe quelle organisation.

  5. Avant de créer un récepteur, examinez les limites qui s'appliquent au destination du récepteur. Pour en savoir plus, consultez les Limites de destination de ce document.

Créer un récepteur

Vous trouverez ci-dessous les instructions pour créer un récepteur dans un projet Google Cloud. Vous pouvez utiliser la même procédure pour acheminer les entrées de journal provenant une organisation, un dossier ou un compte de facturation:

  • Vous pouvez créer jusqu'à 200 récepteurs par projet Google Cloud.
  • N'incluez pas d'informations sensibles dans les filtres de récepteurs. Les filtres de récepteurs sont traités comme des données de service.
  • Les nouveaux récepteurs vers des buckets Cloud Storage peuvent prendre plusieurs heures à acheminer les entrées du journal. Les récepteurs vers Cloud Storage sont traités toutes les heures d'autres types de destination sont traités en temps réel.
  • Les récepteurs ne définissent pas le schéma des ensembles de données BigQuery. À la place, la première entrée de journal reçue par BigQuery détermine pour la table de destination. Pour en savoir plus, consultez Schéma BigQuery des journaux acheminés.

Pour créer un récepteur, procédez comme suit :

Console

  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. Sélectionnez le projet Google Cloud dans lequel se trouvent les entrées de journal que vous que vous souhaitez acheminer.

    Par exemple, si vous souhaitez acheminer vos entrées de journal d'accès aux données le projet nommé Project-A vers un bucket de journaux du projet Project-B, puis sélectionnez Project-A.

  3. Cliquez sur Créer un récepteur.

  4. Dans le panneau Détails du récepteur, saisissez les informations suivantes :

    • Nom du récepteur : indiquez un identifiant pour le récepteur. Notez qu'après avoir créé le récepteur, vous ne pouvez pas le renommer, mais vous pouvez le supprimer et en créer un autre.

    • Description du récepteur (facultatif) : décrivez l'objectif ou le cas d'utilisation du récepteur.

  5. Dans le panneau Destination du récepteur, sélectionnez le service du récepteur et via le menu Sélectionner le service de récepteur. Effectuez l'une des actions suivantes : suivantes:

    • Pour acheminer les entrées de journal vers un service appartenant au même Google Cloud, sélectionnez l'une des options suivantes:

      • Ensemble de données BigQuery: sélectionnez ou créez l'ensemble de données pour recevoir les entrées de journal acheminées. Vous avez également la possibilité à utiliser tables partitionnées.
      • Bucket Cloud Storage: sélectionnez ou créez le bucket bucket Cloud Storage pour recevoir les entrées de journal acheminées.
      • Sujet Pub/Sub: sélectionnez ou créez le sujet pour recevoir les entrées de journal acheminées.
      • Splunk : sélectionnez le sujet Pub/Sub du service Splunk.
    • Pour acheminer les entrées de journal vers un autre projet Google Cloud, sélectionnez Google Cloud project (Projet Google Cloud), puis saisissez le nom complet pour la destination. Pour en savoir plus sur la syntaxe, consultez les Formats du chemin de destination :

    • Pour acheminer les entrées de journal vers un service situé dans un autre Google Cloud, procédez comme suit:

      1. Sélectionnez Autre ressource.
      2. Saisissez le nom complet de la destination. Pour plus d'informations sur la syntaxe, consultez Formats du chemin de destination :
  6. Spécifiez les entrées de journal à inclure:

    1. Accédez au panneau Sélectionner des journaux à inclure dans le récepteur.

    2. Dans le champ Créer un filtre d'inclusion, saisissez une expression de filtre. correspondant aux entrées de journal que vous souhaitez inclure. Pour en savoir plus sur la syntaxe d'écriture des filtres, consultez Langage de requête Logging

      Si vous ne définissez pas de filtre, toutes les entrées de journal de la ressource sélectionnée sont acheminées vers la destination.

      Par exemple, pour acheminer toutes les entrées du journal des accès aux données vers vous pouvez utiliser le filtre suivant:

      log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")
      

      La longueur d'un filtre ne peut pas dépasser 20 000 caractères.

    3. Pour vérifier que le filtre saisi est correct, sélectionnez Prévisualiser les journaux. L'explorateur de journaux s'ouvre dans un nouvel onglet avec le filtre prérempli.

  7. (Facultatif) Configurez un filtre d'exclusion pour éliminer certains des les entrées de journal incluses:

    1. Accédez au panneau Sélectionner des journaux à exclure du récepteur.

    2. Dans le champ Nom du filtre d'exclusion, saisissez un nom.

    3. Dans la section Créer un filtre d'exclusion, saisissez une expression de filtre correspondant aux entrées de journal que vous souhaitez exclure. Vous pouvez également utiliser la fonction sample pour sélectionner une partie des entrées de journal à exclure.

    Vous pouvez créer jusqu'à 50 filtres d'exclusion par récepteur. Notez que la longueur d'un filtre ne peut pas dépasser 20 000 caractères.

  8. Cliquez sur Créer un récepteur.

  9. Accorder au compte de service du récepteur l'autorisation d'écrire des entrées de journal vers la destination de votre récepteur. Pour en savoir plus, consultez Définir les autorisations des destinations

API

  1. Pour créer un récepteur de journaux dans votre projet Google Cloud, utilisez projects.sinks.create dans l'API Logging. Dans LogSink fournissez les valeurs requises appropriées dans la requête de méthode corps:

    • name : identifiant du récepteur. Notez qu'après avoir créé le récepteur, vous ne pouvez pas le renommer, mais vous pouvez le supprimer et en créer un autre.
    • destination: service et destination vers lesquels vous souhaitez que d'entrée de journal acheminées. Pour acheminer les entrées de journal vers un autre projet, ou vers une destination se trouve dans un autre projet, définissez le champ destination avec le chemin approprié, comme décrit dans Formats du chemin de destination :

      Par exemple, si la destination du récepteur est un serveur Pub/Sub, , le destination se présente comme suit:

      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      
  2. Dans l'objet LogSink, indiquez la propriété facultative informations:

    • filter : définissez filter. correspondant aux entrées de journal que vous souhaitez inclure dans votre récepteur. Si vous ne définissez pas de filtre, toutes les entrées de journal de votre projets Google Cloud sont acheminé vers la destination. Notez que la longueur d'un filtre ne peut pas dépasser 20 000 caractères.
    • exclusions: définissez ce champ pour qu'il corresponde aux entrées de journal souhaitées. à exclure de votre récepteur. Vous pouvez également utiliser la fonction sample pour sélectionner une partie des entrées de journal à exclure. Vous pouvez créer jusqu'à 50 filtres d'exclusion par récepteur.
    • description: définissez ce champ pour décrire l'objectif ou le cas d'utilisation de l'évier.
  3. Appelez projects.sinks.create pour créer le récepteur.

  4. Si la réponse de l'API contient une clé JSON portant le libellé "writerIdentity", puis accorder au compte de service du récepteur l'autorisation d'écrire la destination du récepteur. Pour plus d'informations, consultez la section Définir les autorisations des destinations.

    Vous n'avez pas besoin de définir d'autorisations de destination lorsque la réponse de l'API ne contient pas de clé JSON libellée "writerIdentity".

Pour en savoir plus sur la création de récepteurs à l'aide du module Pour l'API Logging, consultez la documentation de référence sur LogSink.

gcloud

Pour créer un récepteur, procédez comme suit :

  1. Exécutez la commande gcloud logging sinks create suivante :

    gcloud logging sinks create SINK_NAME SINK_DESTINATION
    

    Avant d'exécuter la commande, effectuez les remplacements suivants :

    • SINK_NAME: nom du récepteur de journaux. Vous ne pouvez pas modifier le nom d'un récepteur après l'avoir créé.
    • SINK_DESTINATION: service ou projet vers lequel vous souhaitez acheminer les entrées de journal. Définir SINK_DESTINATION par le chemin d'accès approprié, comme décrit dans Formats du chemin de destination :

      Par exemple, si la destination du récepteur est un serveur Pub/Sub, le sujet, alors SINK_DESTINATION se présente comme suit:

      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      

    Vous pouvez également fournir les options suivantes:

    • --log-filter : utilisez cette option pour définir une filtre qui correspond aux entrées de journal que vous souhaitez inclure dans votre récepteur. Si vous ne spécifiez pas de valeur pour le filtre d'inclusion, ce filtre correspond à toutes les entrées de journal.
    • --exclusion: utilisez cette option pour définir un filtre d'exclusion pour les entrées de journal que le récepteur doit exclure du routage. Vous pouvez également utiliser la fonction sample pour sélectionner une partie des entrées de journal à exclure. Cette option vous permet être répété ; vous pouvez créer jusqu'à 50 et d'exclusion par récepteur.
    • --description: utilisez cette option pour décrire l'objectif ou le cas d'utilisation. pour le récepteur.

    Par exemple, pour créer un récepteur dans un bucket Logging, votre commande pourrait ressembler à ceci :

    gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
     --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"
    

    Pour en savoir plus sur la création de récepteurs à l'aide du module Google Cloud CLI, consultez la gcloud logging sinks.

  2. Si la réponse de la commande contient une clé JSON étiquetée "writerIdentity", puis accorder au compte de service du récepteur l'autorisation d'écrire la destination du récepteur. Pour plus d'informations, consultez la section Définir les autorisations des destinations.

    Vous n'avez pas besoin de définir d'autorisations de destination lorsque la réponse ne contient pas de clé JSON libellée "writerIdentity".

Si vous recevez des notifications d'erreur, consultez Résoudre les problèmes liés au routage et aux récepteurs

Formats du chemin de destination

Si vous acheminez des entrées de journal vers un service qui se trouve dans un autre projet, vous devez fournissez au récepteur le nom complet du service. De même, Si vous acheminez les entrées de journal vers un autre projet Google Cloud, vous devez Fournissez au récepteur le nom complet du projet de destination:

  • Bucket de journaux Cloud Logging:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • Un autre projet Google Cloud:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • Ensemble de données BigQuery:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • Cloud Storage :

    storage.googleapis.com/BUCKET_NAME
    
  • Sujet Pub/Sub:

    pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
    

Gérer les récepteurs

Une fois vos récepteurs créés, vous pouvez effectuer les actions suivantes sur ceux-ci. L'application des modifications apportées à un récepteur peut prendre quelques minutes:

  • Afficher les détails
  • Mettre à jour
  • Désactiver

    • Vous ne pouvez pas désactiver le récepteur _Required.
    • Vous pouvez désactiver le récepteur _Default pour l'empêcher de router les entrées de journal vers le bucket Logging _Default.
    • Si vous souhaitez désactiver le récepteur _Default pour toute nouvelle les projets ou dossiers Google Cloud créés dans votre organisation, envisagez de configurer paramètres de ressources par défaut.
  • Supprimer

    • Vous ne pouvez pas supprimer les récepteurs _Default ou _Required.
    • Lorsque vous supprimez un récepteur, il n'achemine plus les entrées de journal.
    • Si le récepteur dispose d'un compte de service dédié, la suppression de ce récepteur supprime le compte de service. Récepteurs créés avant le Depuis le 22 mai 2023, les comptes de service sont dédiés. Récepteurs créés à compter du 22 mai 2023 disposent d'un compte de service partagé. La suppression du récepteur ne supprime pas le compte de service partagé.
  • Résoudre les échecs

  • Afficher le volume des journaux et les taux d'erreur

Vous trouverez ci-dessous des instructions pour gérer un récepteur dans un projet Google Cloud. Au lieu d'un projet Google Cloud, vous pouvez spécifier un compte de facturation, d'un dossier ou d'une organisation:

Console

  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 la barre d'outils, sélectionnez la ressource contenant votre récepteur. La ressource peut être un projet, un dossier, une organisation ou un compte de facturation.

La page Routeur de journaux affiche les récepteurs dans la ressource sélectionnée. Chaque ligne du tableau contient des informations sur les propriétés d'un récepteur:

  • Activé : indique si l'état du récepteur est activé ou désactivé.
  • Type : service de destination du récepteur. Par exemple, Cloud Logging bucket.
  • Nom : identifiant du récepteur, tel qu'il est fourni lors de la création du récepteur ; par exemple _Default.
  • Description : description du récepteur, telle qu'elle vous a été fournie lors de sa création.
  • Destination: nom complet de la destination vers laquelle le journal routé entrées sont envoyées.
  • Créé : date et heure de création du récepteur.
  • Dernière mise à jour: date et heure de la dernière modification du récepteur.

Pour chaque ligne du tableau, le menu Autres actions propose les options suivantes:

  • Afficher les détails du récepteur : affiche le nom, la description, le service, la destination, ainsi que les filtres d'inclusion et d'exclusion du récepteur. Sélectionnez Modifier pour ouvrir le panneau Modifier le récepteur.
  • Modifier le récepteur : ouvre le panneau Modifier le récepteur dans lequel vous pouvez mettre à jour les paramètres du récepteur.
  • Désactiver le récepteur: vous permet de désactiver le récepteur et d'arrêter le routage des entrées de journal. vers vers la destination du récepteur. Pour en savoir plus sur la désactivation des récepteurs, consultez Arrêtez de stocker des journaux dans des buckets de journaux.
  • Activer le récepteur: permet d'activer un récepteur désactivé et de redémarrer le routage. les entrées de journal à la destination du récepteur.
  • Supprimer le récepteur: permet de supprimer le récepteur et d'arrêter d'acheminer les entrées de journal vers vers la destination du récepteur.
  • Résoudre les problèmes du récepteur: ouvre l'explorateur de journaux dans lequel vous pouvez résoudre les problèmes les erreurs avec le récepteur.
  • Afficher le volume et les taux d'erreur des journaux du récepteur: ouvre l'Explorateur de métriques. qui vous permet d'afficher et d'analyser les données du récepteur.

Pour trier le tableau par colonne, sélectionnez le nom de la colonne.

API

  • Pour afficher les récepteurs de votre projet Google Cloud, appelez projects.sinks.list

  • Pour afficher les détails d'un récepteur, appelez projects.sinks.get.

  • Pour mettre à jour un récepteur, appelez projects.sink.update.

    Vous pouvez mettre à jour la destination, les filtres et la description d'un récepteur. Vous pouvez désactiver ou réactiver le récepteur.

  • Pour désactiver un récepteur, définissez le champ disabled de l'objet LogSink sur true, puis appelez projects.sink.update.

    Pour réactiver le récepteur, procédez comme suit : définissez le champ disabled de l'objet LogSink sur false, puis appelez projects.sink.update.

  • Pour supprimer un récepteur, appelez projects.sinks.delete.

    Pour en savoir plus sur la gestion des récepteurs à l'aide du module Pour l'API Logging, consultez la documentation de référence sur LogSink.

gcloud

  • Pour afficher la liste des récepteurs de votre projet Google Cloud, utilisez le gcloud logging sinks list qui correspond à la méthode de l'API Logging projects.sinks.list:

    gcloud logging sinks list
    

    Pour afficher votre liste de récepteurs agrégés, utilisez le l'option appropriée pour spécifier la ressource contenant le récepteur. Pour Par exemple, si vous avez créé le récepteur au niveau de l'organisation, utilisez --organization=ORGANIZATION_ID pour répertorier les récepteurs spécifiques pour l'organisation.

  • Pour décrire un récepteur, utilisez la commande gcloud logging sinks describe, qui correspond à la méthode de l'API Logging projects.sinks.get :

    gcloud logging sinks describe SINK_NAME
    
  • Pour mettre à jour un récepteur, utilisez la commande gcloud logging sinks update, qui correspond à la méthode API projects.sink.update :

    Vous pouvez mettre à jour un récepteur pour modifier la destination, les filtres une description, ou pour désactiver ou réactiver le récepteur:

    gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER

    Omettez NEW_DESTINATION ou --log-filter si ces parties ne changent pas.

    Par exemple, pour mettre à jour la destination du récepteur nommé my-project-sink vers une nouvelle destination de bucket Cloud Storage nommée my-second-gcs-bucket, la commande se présente comme suit :

    gcloud logging sinks update  my-project-sink storage.googleapis.com/my-second-gcs-bucket
    
  • Pour désactiver un récepteur, utilisez la méthode gcloud logging sinks update qui correspond à la méthode API projects.sink.update, et incluez l'option --disabled:

    gcloud logging sinks update SINK_NAME --disabled
    

    Pour réactiver le récepteur, utilisez la méthode gcloud logging sinks update supprimez l'option --disabled et incluez --no-disabled l'une des options suivantes:

    gcloud logging sinks update SINK_NAME --no-disabled
    
  • Pour supprimer un récepteur, utilisez la commande gcloud logging sinks delete, qui correspond à la méthode API projects.sinks.delete :

    gcloud logging sinks delete SINK_NAME
    

    Pour en savoir plus sur la gestion des récepteurs à l'aide du module Google Cloud CLI, consultez la gcloud logging sinks.

Arrêter de stocker les entrées de journal dans les buckets de journaux

Vous pouvez désactiver le récepteur _Default et tous les récepteurs définis par l'utilisateur. Lorsque vous désactiver un récepteur, celui-ci arrête d'acheminer les entrées de journal vers sa destination. Par exemple, si vous désactivez le récepteur _Default, aucune entrée de journal n'est acheminé vers le bucket _Default. La Le bucket _Default devient vide lorsque toutes les entrées de journal précédemment stockées sont supprimées ont rempli les conditions durée de conservation.

Les instructions suivantes montrent comment désactivez les récepteurs de votre projet Google Cloud qui acheminent les entrées de journal vers _Default buckets de journaux:

Console

  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. Pour rechercher tous les récepteurs qui acheminent les entrées de journal vers le bucket de journaux _Default, procédez comme suit : filtrez les récepteurs par destination, puis saisissez _Default.
  3. Pour chaque récepteur, sélectionnez Menu , puis puis sélectionnez Désactiver le récepteur.

    Les récepteurs sont maintenant désactivés et les récepteurs de votre projet Google Cloud pour acheminer les entrées de journal vers le bucket _Default.

Pour réactiver un récepteur désactivé et redémarrer l'acheminement des entrées de journal vers le récepteur destination, procédez comme suit:

  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. Pour rechercher tous les récepteurs qui acheminent les entrées de journal vers le bucket de journaux _Default, procédez comme suit : filtrez les récepteurs par destination, puis saisissez _Default.
  3. Pour chaque récepteur, sélectionnez Menu , puis Sélectionnez Activer le récepteur.

API

  1. Pour afficher les récepteurs de votre projet Google Cloud, appelez la fonction Méthode de l'API Logging projects.sinks.list

    Identifiez les récepteurs qui sont acheminés vers le bucket _Default.

  2. Par exemple, pour désactiver le récepteur _Default, procédez comme suit : définissez le champ disabled de l'objet LogSink sur true, puis appelez projects.sink.update.

    Le récepteur _Default est maintenant désactivé. il n'achemine plus les entrées de journal le bucket _Default.

Pour désactiver les autres récepteurs dans votre projet Google Cloud qui acheminent dans le bucket _Default, répétez les étapes précédentes.

Pour réactiver un récepteur, procédez comme suit : définissez le champ disabled de l'objet LogSink sur false, puis appelez projects.sink.update.

gcloud

  1. Pour afficher la liste des récepteurs de votre projet Google Cloud, utilisez le gcloud logging sinks list qui correspond à la méthode de l'API Logging projects.sinks.list:

    gcloud logging sinks list
    
  2. Identifiez tous les récepteurs qui redirigent vers le bucket de journaux _Default. Pour décrire un récepteur, y compris pour voir le nom de la destination, utilisez la méthode gcloud logging sinks describe qui correspond à la méthode de l'API Logging projects.sinks.get:

    gcloud logging sinks describe SINK_NAME
    
  3. Exécutez la gcloud logging sinks update et incluez l'option --disabled. Par exemple, pour désactiver _Default, exécutez la commande suivante:

    gcloud logging sinks update _Default  --disabled
    

    Le récepteur _Default est maintenant désactivé. il n'achemine plus les entrées de journal le bucket de journaux _Default.

Pour désactiver les autres récepteurs dans votre projet Google Cloud qui acheminent dans le bucket _Default, répétez les étapes précédentes.

Pour réactiver un récepteur, utilisez le gcloud logging sinks update supprimez l'option --disabled et incluez --no-disabled l'une des options suivantes:

gcloud logging sinks update _Default  --no-disabled

Définir les autorisations de la destination

Cette section explique comment accorder à Logging Autorisations Identity and Access Management permettant d'écrire des entrées de journal dans la destination de votre récepteur. Pour obtenir la liste complète des rôles et des autorisations Logging, consultez la page Contrôle des accès.

Cloud Logging crée un compte de service partagé pour une ressource lorsqu'un le récepteur est créé, sauf si le compte de service requis existe déjà. Le compte de service peut exister, car le même compte de service est utilisé pour tous les récepteurs de la ressource sous-jacente. Les ressources peuvent être un projet Google Cloud, une organisation, un dossier ou un compte de facturation.

L'identité du rédacteur d'un récepteur est l'identifiant du service. associé à ce récepteur. Tous les récepteurs ont une identité de rédacteur, à l'exception des suivants : récepteurs qui écrivent dans un bucket de journaux du même projet Google Cloud, de l'entrée de journal. Dans la dernière configuration, un compte de service n'est pas obligatoire. Par conséquent, le champ Identité du rédacteur du récepteur est répertorié comme None dans la console. La et les commandes Google Cloud CLI ne signalent pas d'identité de rédacteur.

Les instructions suivantes s'appliquent aux projets, dossiers, organisations et comptes de facturation:

Console

  1. Assurez-vous de disposer d'un accès Propriétaire Projet Google Cloud contenant la destination. Si vous ne disposez pas d'un accès Propriétaire à la destination du récepteur, puis demandez à un propriétaire du projet d'ajouter l'identité du rédacteur en tant que compte principal.

  2. Pour obtenir l'identité du rédacteur du récepteur (une adresse e-mail) à partir du un nouveau récepteur, procédez comme suit:

    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 la barre d'outils, sélectionnez le projet contenant le récepteur.
    3. Sélectionnez Menu , puis Afficher les détails du récepteur L'identité du rédacteur apparaît dans Détails du récepteur.
  3. Si la valeur du champ writerIdentity contient une adresse e-mail, puis passez à l'étape suivante. Lorsque cette valeur est None, vous n'avez pas besoin de configurer les autorisations de destination pour le récepteur.

  4. Copiez l'identité du rédacteur du récepteur dans le presse-papiers.

  5. Si la destination est un service d'un autre projet, ou s'il s'agit dans un autre projet, puis dans la barre d'outils, sélectionnez le projet de destination.

  6. Ajoutez le compte de service en tant que compte principal IAM dans projet de destination:

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

      Accéder à IAM

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

    2. Sélectionnez le projet de destination.

    3. Cliquez sur Accorder l'accès.

    4. Attribuez au compte de service le rôle IAM requis:

      • Pour les destinations Cloud Storage, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, Rôle de créateur des objets Storage (roles/storage.objectCreator).
      • Pour les destinations BigQuery, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, Rôle d'éditeur de données BigQuery (roles/bigquery.dataEditor).
      • Pour les destinations Pub/Sub, y compris Splunk, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, Rôle d'éditeur Pub/Sub (roles/pubsub.publisher).
      • Pour les destinations des buckets Logging dans différentes projets Google Cloud, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis lui accorder Rôle Rédacteur de bucket de journaux (roles/logging.bucketWriter).
      • Pour les destinations de projets Google Cloud, ajoutez le en tant que compte principal à l'aide d'IAM, puis attribuez-lui Rôle Rédacteur de journaux (roles/logging.logWriter). Plus précisément, le compte principal a besoin Autorisation logging.logEntries.route.

API

Nous vous recommandons d'utiliser la console Google Cloud ou la Google Cloud CLI pour attribuer un rôle à un compte de service.

gcloud

  1. Assurez-vous de disposer d'un accès Propriétaire Projet Google Cloud contenant la destination. Si vous ne disposez pas d'un accès Propriétaire à la destination du récepteur, puis demandez à un propriétaire du projet d'ajouter l'identité du rédacteur en tant que compte principal.

  2. Obtenez le compte de service à partir du champ writerIdentity de votre récepteur :

    gcloud logging sinks describe SINK_NAME
    
  3. Recherchez le récepteur dont vous souhaitez modifier les autorisations et identifiez, le cas échéant, contiennent une ligne writerIdentity, puis continuez à l'étape suivante. Lorsque les détails n'incluent pas de writerIdentity , vous n'avez pas besoin de configurer d'autorisations de destination l'évier.

    L'identité du rédacteur pour le compte de service est semblable à la suivantes:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Ajoutez le compte de service en tant que compte principal IAM dans projet de destination:

    Avant d'utiliser la commande suivante, effectuez les remplacements suivants:

    • PROJECT_ID: identifiant du projet.
    • PRINCIPAL: identifiant du compte principal que vous souhaitez vous accordez le rôle. Les identifiants des comptes principaux se présentent généralement sous la forme suivante: PRINCIPAL-TYPE:ID Exemple : user:my-user@example.com. Pour obtenir la liste complète des formats que PRINCIPAL_ID peut avoir, consultez la section Identifiants des comptes principaux.
    • ROLE: rôle IAM.

      • Pour les destinations Cloud Storage, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, Rôle de créateur des objets Storage (roles/storage.objectCreator).
      • Pour les destinations BigQuery, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, Rôle d'éditeur de données BigQuery (roles/bigquery.dataEditor).
      • Pour les destinations Pub/Sub, y compris Splunk, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, Rôle d'éditeur Pub/Sub (roles/pubsub.publisher).
      • Pour les destinations des buckets Logging dans différentes projets Google Cloud, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis lui accorder Rôle Rédacteur de bucket de journaux (roles/logging.bucketWriter).
      • Pour les destinations de projets Google Cloud, ajoutez le en tant que compte principal à l'aide d'IAM, puis attribuez-lui Rôle Rédacteur de journaux (roles/logging.logWriter). Plus précisément, le compte principal a besoin Autorisation logging.logEntries.route.

    Exécutez la gcloud projects add-iam-policy-binding commande:

    gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
    

Limites de la destination

Cette section décrit les limites spécifiques à la destination:

  • Si vous acheminez les entrées de journal vers un bucket de journaux dans un autre projet Google Cloud, Error Reporting n'analyse pas ces entrées de journal. Pour en savoir plus, consultez Présentation d'Error Reporting.
  • Les limites suivantes s'appliquent lorsque vous acheminez vos entrées de journal vers différentes Projets Google Cloud:

    • Il y a une limite à un saut.

      Par exemple, si vous acheminez des entrées de journal du projet A vers le projet B, vous ne pouvez pas acheminer les entrées de journal le projet B vers un autre projet.

    • Les journaux d'audit ne sont pas acheminés vers le bucket de journaux _Required dans la destination projet.

      Par exemple, si vous acheminez les entrées de journal du projet A vers projet B, alors le bucket de journaux _Required du projet A contient les journaux d'audit du projet A. Les journaux d'audit du projet A ne sont pas acheminé vers le projet B. Pour acheminer ces entrées de journal, créez un récepteur est un bucket de journaux.

    • Lorsque le projet de destination se trouve dans un autre dossier ou une autre organisation, alors les récepteurs agrégés de ce dossier ou de cette organisation pour acheminer l'entrée de journal.

      Par exemple, supposons que le projet A se trouve dans le dossier X. Lorsqu'une entrée de journal provient du projet A, l'entrée de journal est traitée par récepteurs agrégés dans le dossier X et les récepteurs dans le projet A. Maintenant supposons que le projet A contient un récepteur qui achemine ses entrées de journal vers Projet B, qui se trouve dans le dossier Y. Entrées de journal du projet A passer par les récepteurs dans le projet B ; mais ils ne passent pas les récepteurs agrégés dans le dossier Y.

  • Pour utiliser l'explorateur de journaux afin d'afficher les entrées de journal acheminées vers un projet par à l'aide d'un récepteur agrégé, définissez le champ Affiner le champ d'application sur le champ d'application de l'espace de stockage ; puis sélectionner une vue de journal qui donne accès à ces entrées de journal.

Exemples de code

Pour configurer les récepteurs dans le langage de votre choix à l'aide du code de la bibliothèque cliente, consultez la page Bibliothèques clientes Logging : récepteurs de journaux.

Exemples de filtres

Voici quelques exemples de filtres particulièrement utiles pour créer des récepteurs. Pour obtenir des exemples supplémentaires pouvant être utiles lors de la création de vos filtres d'inclusion et de vos filtres d'exclusion, consultez la section Exemples de requêtes.

Restaurer le filtre de récepteur _Default

Si vous avez modifié le filtre pour le récepteur _Default, vous souhaiterez peut-être restaurer à sa configuration d'origine. Une fois créé, le récepteur _Default est configuré avec le filtre d'inclusion suivant et un filtre d'exclusion vide:

  NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \
  log_id("externalaudit.googleapis.com/activity") AND NOT \
  log_id("cloudaudit.googleapis.com/system_event") AND NOT \
  log_id("externalaudit.googleapis.com/system_event") AND NOT \
  log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \
  log_id("externalaudit.googleapis.com/access_transparency")

Exclure les journaux de conteneurs et de pods Google Kubernetes Engine

Pour exclure les entrées de journal de conteneurs et de pods Google Kubernetes Engine pour Système GKE namespaces, utilisez le filtre suivant:

resource.type = ("k8s_container" OR "k8s_pod")
resource.labels.namespace_name = (
"cnrm-system" OR
"config-management-system" OR
"gatekeeper-system" OR
"gke-connect" OR
"gke-system" OR
"istio-system" OR
"knative-serving" OR
"monitoring-system" OR
"kube-system")

Pour exclure les entrées de journal des nœuds Google Kubernetes Engine pour GKE système logNames, utilisez le filtre suivant:

resource.type = "k8s_node"
logName:( "logs/container-runtime" OR
"logs/docker" OR
"logs/kube-container-runtime-monitor" OR
"logs/kube-logrotate" OR
"logs/kube-node-configuration" OR
"logs/kube-node-installation" OR
"logs/kubelet" OR
"logs/kubelet-monitor" OR
"logs/node-journal" OR
"logs/node-problem-detector")

Afficher le volume des entrées de journal des nœuds, des pods et des conteneurs Google Kubernetes Engine stockés dans des buckets de journaux, utilisez l'Explorateur de métriques:

Exclure les journaux Dataflow non requis pour assurer la compatibilité

Pour exclure les entrées de journal Dataflow qui ne sont pas requises pour supportability, utilisez le filtre suivant:

resource.type="dataflow_step"
labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"

Pour afficher le volume de journaux Dataflow stockés dans des buckets de journaux, utilisez Explorateur de métriques.

Assistance

Bien que Cloud Logging vous permette d'exclure des entrées de journal d'être stockés dans un bucket de journaux, vous pouvez envisager de conserver des entrées de journal qui facilitent la prise en charge. L'utilisation de ces entrées de journal peut vous aider à résoudre et à identifier les problèmes avec vos applications.

Par exemple, les entrées de journal système GKE sont utiles pour dépannage à vos applications et clusters GKE, car ils sont générés pour les événements qui se produisent dans votre cluster. Ces entrées de journal peuvent vous aider déterminez si le code de votre application ou le cluster GKE sous-jacent à l'origine de l'erreur de votre application. Les journaux système GKE incluent également les journaux d'audit Kubernetes générés par le composant de serveur de l'API Kubernetes, qui inclut les modifications apportées à l'aide de la commande kubectl et les événements Kubernetes.

Pour Dataflow, nous vous recommandons d'écrire au minimum les valeurs journaux (labels."dataflow.googleapis.com/log_type"="system") et la compatibilité journaux (labels."dataflow.googleapis.com/log_type"="supportability") dans les buckets de journaux. Ces journaux sont essentiels pour que les développeurs puissent observer et résoudre les Dataflow liés à leur et les utilisateurs ne pourront peut-être pas utiliser Informations sur le job pour afficher les journaux du job.

Étape suivante