Cette page a été traduite par l'API Cloud Translation.
Switch to English

Récepteurs agrégés

Vous pouvez créer un récepteur agrégé capable d'exporter des entrées de journal à partir de tous les projets, dossiers et comptes de facturation d'une organisation Google Cloud. Par exemple, vous pouvez agréger des entrées de journaux d'audit et les exporter depuis les projets d'une organisation vers un emplacement central.

Concept

Sans la fonctionnalité du récepteur agrégé, les récepteurs sont limités à l'exportation des entrées de journal depuis la ressource exacte dans laquelle le récepteur a été créé : un projet, une organisation, un dossier ou un compte de facturation Google Cloud.

Pour utiliser cette fonctionnalité, créez un récepteur dans une organisation ou un dossier Google Cloud, puis définissez son paramètre includeChildren sur True. Ce récepteur peut ensuite exporter des entrées de journal depuis l'organisation ou le dossier, ainsi que depuis tous les dossiers, comptes de facturation ou projets qui s'y trouvent (de façon récursive). Vous pouvez utiliser le filtre du récepteur pour spécifier des entrées de journal de projets, de types de ressources ou de journaux nommés.

Pour en savoir plus sur les récepteurs et leur création, consultez la page Exporter des journaux dans l'API et la section Créer des récepteurs à partir de l'outil de ligne de commande.

Créer la destination d'exportation

La destination des récepteurs de journaux doit être créée avant le récepteur, via l'outil de ligne de commande gcloud, Cloud Console ou les API Google Cloud.

Les destinations acceptées pour les récepteurs sont les suivantes :

La destination peut être créée dans n'importe quel projet Google Cloud et n'importe quelle organisation, si le compte de service du récepteur de journaux dispose des autorisations nécessaires pour écrire dans la destination.

Créer un récepteur agrégé

Pour créer un récepteur agrégé dans des dossiers, des comptes de facturation ou des organisations Google Cloud, vous pouvez utiliser l'une des méthodes suivantes :API Cloud Logging ou gcloud outil de ligne de commande s'affiche en haut de l'écran.

API Logging

Pour créer un récepteur de journalisation, utilisez organizations.sinks.create, folders.sinks.create ou billingAccounts.sinks.create dans l'API Logging. Préparez les arguments de la méthode comme suit :

  1. Définissez le paramètre parent comme l'organisation, le dossier ou le compte de facturation Google Cloud dans lequel créer le récepteur. Le parent doit correspondre à l'un des éléments suivants :

    • organizations/[ORGANIZATION_ID]
    • folders/[FOLDER_ID]
    • billingAccounts/[BILLING_ACCOUNT_ID]
  2. Dans l'objet LogSink du corps de la requête de la méthode :

    • Définissez includeChildren sur True.

    • Définissez la propriété filter. Logging associe toutes les entrées de journal de tous vos projets au filtre.

      Pour obtenir des exemples de filtres utiles, consultez la section Utiliser des filtres avec des récepteurs agrégés.

    • Définissez les champs LogSink restants comme vous le feriez pour n’importe quel récepteur. Pour en savoir plus, consultez la section Créer des récepteurs.

  3. Appelez la méthode organisations.sinks.create ou folders.sinks.create pour créer le récepteur.

  4. Récupérez le nom du compte de service utilisé pour créer le récepteur à partir de la réponse de l'API.

  5. Autorisez ce compte de service à écrire sur la destination du récepteur.

    Si vous n'êtes pas autorisé à apporter cette modification à la destination du récepteur, envoyez le nom du compte de service à une personne en mesure d'effectuer cette modification pour vous.

    Pour plus d'informations sur l'octroi des autorisations de comptes de service pour les ressources, consultez les liens suivants pour la destination de votre récepteur:

    Buckets Cloud Storage Sujets Pub/Sub Tables BigQuery Buckets Cloud Logging

gcloud

Pour créer un récepteur de journalisation, exécutez la commande logging sinks create.

  1. Indiquez le nom du récepteur, sa destination, le filtre et l'ID du dossier, du compte de facturation ou de l'organisation.

    Par exemple, pour configurer un récepteur agrégé au niveau du dossier, procédez comme suit :

    gcloud logging sinks create [SINK_NAME] \
    storage.googleapis.com/[BUCKET_NAME] --include-children \
    --folder=[FOLDER_ID] --log-filter="logName:activity"

    Notes :

    • Pour créer un récepteur au niveau de l'organisation, remplacez --folder=[FOLDER_ID] par --organization=[ORGANIZATION_ID]. Pour un compte de facturation, remplacez cette ressource par --billing-account=[BILLING_ACCOUNT_ID].

    • Pour permettre au récepteur d'inclure tous les projets de l'organisation, vous devez spécifier l'option --include-children, même si l'option --organization est transmise à create. Lorsque cette option est définie sur false (valeur par défaut), le récepteur n'exporte que les journaux de la ressource hôte.

    • Vous devez disposer du rôle IAM Rédacteur de configuration des journaux pour que le parent puisse créer le récepteur. Pour plus d'informations sur les rôles IAM de Logging, consultez le guide du contrôle des accès.

    • Pour obtenir des exemples de filtres utiles, consultez les exemples de l'outil de ligne de commande gcloud pour créer des récepteurs.

  2. Récupérez le nom du compte de service utilisé pour créer le récepteur à partir du résultat de la commande.

  3. Autorisez ce compte de service à écrire sur la destination du récepteur.

    Si vous n'êtes pas autorisé à apporter cette modification à la destination du récepteur, envoyez le nom du compte de service à une personne en mesure d'effectuer cette modification pour vous.

    Pour plus d'informations sur l'octroi des autorisations de comptes de service pour les ressources, consultez les liens suivants pour la destination de votre récepteur:

Utiliser des filtres avec des récepteurs agrégés

Comme tout récepteur, votre récepteur agrégé contient un filtre qui sélectionne les entrées de journal individuelles. Pour en savoir plus sur les filtres, consultez la page Langage de requête Logging.

Voici quelques exemples de comparaisons de filtres pouvant vous servir si vous utilisez la fonctionnalité de récepteurs agrégés. Certains exemples utilisent la notation suivante :

  • : désigne l'opérateur de la sous-chaîne. Ne remplacez pas l'opérateur =.
  • ... représente les comparaisons de filtres supplémentaires, le cas échéant.
  • Les variables sont indiquées entre crochets []. Remplacez-les par des valeurs valides.

Choisir la source d'exportation

Pour exporter les journaux de projets, de dossiers ou d'organisations spécifiques, utilisez l'un des exemples de comparaisons suivants :

logName:"projects/[PROJECT_ID]/logs/" AND ... 
logName:("projects/[PROJECT_A_ID]/logs/" OR "projects/[PROJECT_B_ID]/logs/") AND ... 
logName:"folders/[FOLDER_ID]/logs/" AND ... 
logName:"organizations/[ORGANIZATION_ID]/logs/" AND ... 

Choisir des ressources

Pour n'exporter que les journaux d'une ressource spécifique dans un projet, utilisez plusieurs comparaisons afin de spécifier précisément la ressource :

logName:"projects/[PROJECT_ID]/logs" AND
resource.type=[RESOURCE_TYPE] AND
resource.labels.instance_id=[INSTANCE_ID]

Pour obtenir la liste des types de ressources, consultez la section Types de ressource surveillée.

Échantillons d'entrées de journal

Pour exporter un échantillon aléatoire d'entrées de journal, ajoutez la fonction intégrée sample. Par exemple, pour exporter seulement 10 % des entrées de journal correspondant à votre filtre actuel, utilisez cette addition :

sample(insertId, 0.10) AND ...

Pour en savoir plus, consultez la section concernant la fonction sample.

Pour en savoir plus sur les filtres Cloud Logging, consultez la page Langage de requête Logging.

Tarifs

Les journaux exportés ne sont pas facturés par Cloud Logging, mais des frais de destination peuvent s'appliquer. Pour en savoir plus, consultez la page des tarifs du produit concerné :