Accéder aux journaux de flux

Cette page explique comment accéder aux journaux de flux à l'aide de Cloud Logging.

Accéder aux journaux de flux dans l'explorateur de journaux

Les journaux de flux VPC écrivent les journaux dans le projet Google Cloud du rapporteur de journaux. Vous pouvez afficher les journaux de flux dans l'explorateur de journaux. Les journaux de flux VPC utilisent les journaux suivants pour collecter les entrées de journal :

  • Le journal networkmanagement.googleapis.com/vpc_flows collecte les entrées de journal pour les réseaux de cloud privé virtuel (VPC), les sous-réseaux, les rattachements de VLAN pour Cloud Interconnect et les tunnels Cloud VPN.
  • Le journal compute.googleapis.com/vpc_flows collecte les entrées de journal pour les sous-réseaux. Ce journal n'est généré que si vous avez activé les journaux de flux VPC pour les sous-réseaux à l'aide de l'API Compute Engine.

Configurer IAM

Pour configurer le contrôle des accès pour Logging, consultez le guide du contrôle des accès pour Logging.

Afficher les journaux de flux à l'aide de filtres de ressources

Pour afficher les journaux de flux dans un projet Google Cloud à l'aide de filtres de ressources, consultez les sections suivantes. Vous pouvez également afficher ces journaux à l'aide des requêtes de l'explorateur de journaux, comme décrit dans Filtrer les journaux de flux à l'aide de requêtes.

Afficher les journaux de flux pour toutes les configurations (networkmanagement.googleapis.com/vpc_flows)

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

    Accéder à l'explorateur de journaux

  2. Cliquez sur Toutes les ressources.

  3. Dans la liste Sélectionner une ressource, cliquez sur Configuration des journaux de flux VPC, puis sur Appliquer.

Afficher les journaux de flux pour une configuration spécifique (networkmanagement.googleapis.com/vpc_flows)

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

    Accéder à l'explorateur de journaux

  2. Cliquez sur Toutes les ressources.

  3. Dans la liste Sélectionner une ressource, cliquez sur Configuration des journaux de flux VPC, puis sélectionnez la configuration des journaux de flux VPC que vous souhaitez afficher.

  4. Cliquez sur Appliquer.

Afficher les journaux de flux pour toutes les configurations (compute.googleapis.com/vpc_flows)

Suivez ces étapes si vous avez activé les journaux de flux VPC à l'aide de l'API Compute Engine.

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

    Accéder à l'explorateur de journaux

  2. Cliquez sur Toutes les ressources.

  3. Dans la liste Sélectionner une ressource, cliquez sur Sous-réseau, puis sur Appliquer.

  4. Cliquez sur Tous les noms de journaux.

  5. Dans la liste Sélectionner les noms des journaux, recherchez Compute Engine, cliquez sur vpc_flows, puis sur Appliquer.

Afficher les journaux de flux d'un sous-réseau spécifique (compute.googleapis.com/vpc_flows)

Suivez ces étapes si vous avez activé les journaux de flux VPC à l'aide de l'API Compute Engine.

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

    Accéder à l'explorateur de journaux

  2. Cliquez sur Toutes les ressources.

  3. Dans la liste Sélectionner une ressource, cliquez sur Sous-réseau.

  4. Dans la liste ID de sous-réseau, sélectionnez le sous-réseau, puis cliquez sur Appliquer.

  5. Cliquez sur Tous les noms de journaux.

  6. Dans la liste Sélectionner les noms des journaux, recherchez Compute Engine, cliquez sur vpc_flows, puis sur Appliquer.

Filtrer les journaux de flux à l'aide de requêtes

Pour afficher les journaux de flux dans un projet Google Cloud à l'aide de requêtes de l'explorateur de journaux, procédez comme suit.

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

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Query (Requête), cliquez sur le bouton Show query (Afficher la requête).

  3. Dans le champ de l'éditeur de requête, saisissez une requête :

    • Par exemple, pour afficher les journaux de flux d'un tunnel Cloud VPN source spécifique, saisissez la requête suivante :

      resource.type="vpc_flow_logs_config"
      logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
      jsonPayload.reporter="SRC_GATEWAY"
      labels.target_resource_name="projects/PROJECT_NUMBER/regions/REGION/vpnTunnels/NAME"
      

      Remplacez les éléments suivants :

      • PROJECT_ID : ID du projet Google Cloud du tunnel Cloud VPN
      • PROJECT_NUMBER : numéro du projet du tunnel Cloud VPN
      • REGION : région du tunnel Cloud VPN
      • NAME : nom du tunnel Cloud VPN
    • Si vous avez activé les journaux de flux VPC pour un sous-réseau à l'aide de l'API Compute Engine, la requête doit cibler compute.googleapis.com. Par exemple, saisissez la requête suivante en remplaçant PROJECT_ID par l'ID de votre projet Google Cloud et SUBNET_NAME par votre sous-réseau :

      resource.type="gce_subnetwork"
      logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
      resource.labels.subnetwork_name="SUBNET_NAME"
      

      Pour obtenir d'autres exemples de requêtes que vous pouvez exécuter pour afficher vos journaux de flux, consultez la section Exemples de requêtes de l'explorateur de journaux pour les journaux de flux VPC.

  4. Cliquez sur Exécuter la requête.

Exemples de requêtes de l'explorateur de journaux pour les journaux de flux VPC

Cette section fournit des exemples de requêtes de l'explorateur de journaux que vous pouvez exécuter pour afficher vos journaux de flux. Incluez les informations suivantes dans toutes les requêtes :

  • Spécifiez le type de ressource et le nom du journal que vous souhaitez interroger, comme décrit dans le tableau suivant. Vous pouvez interroger les deux journaux dans une même requête.

    Journal Type de ressource et nom du journal
    networkmanagement.googleapis.com/vpc_flows

    Collecte les journaux des configurations gérées par l'API Network Management.

    resource.type="vpc_flow_logs_config"
    logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
    
    compute.googleapis.com/vpc_flows

    Collecte les journaux des configurations gérées par l'API Compute Engine.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"

    Remplacez PROJECT_ID par l'ID du projet Google Cloud de la ressource de création de rapports.

  • Si vous utilisez plusieurs configurations de journaux de flux VPC par ressource, spécifiez le nom de la configuration que vous souhaitez interroger et la ressource cible en ajoutant les champs resource.labels.name et labels.target_resource_name à la requête. Cela permet de s'assurer que les journaux en double sont exclus des résultats de la requête. Pour en savoir plus, consultez Journaux en double.

    • resource.labels.name est le nom de la configuration. Vous pouvez spécifier plusieurs configurations par requête.
    • labels.target_resource_name est le nom du réseau VPC, du sous-réseau, du rattachement de VLAN ou du tunnel Cloud VPN pour lesquels vous souhaitez générer un rapport. Les configurations pour les organisations ne définissent pas de ressource cible.
    • Ces champs ne sont disponibles que dans le journal networkmanagement.googleapis.com/vpc_flows.

Consultez le tableau suivant pour obtenir des exemples de requêtes de l'explorateur de journaux que vous pouvez utiliser pour afficher vos journaux de flux.

Journaux que vous souhaitez afficher Requête
Tous les journaux de flux
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
Journaux d'une configuration spécifique
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
resource.labels.name="CONFIG_NAME"
Journaux des instances de VM dans un réseau VPC spécifique
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_vpc.vpc_name="NETWORK_NAME" OR
jsonPayload.dest_vpc.vpc_name="NETWORK_NAME")
Journaux des instances de VM dans un sous-réseau spécifique
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_vpc.subnetwork_name="SUBNET_NAME" OR
jsonPayload.dest_vpc.subnetwork_name="SUBNET_NAME")
Journaux d'une instance de VM spécifique
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_instance.vm_name="VM_NAME" OR
jsonPayload.dest_instance.vm_name="VM_NAME")
Journaux d'un cluster Google Kubernetes Engine spécifique
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
(jsonPayload.src_gke_details.cluster.cluster_name="CLUSTER_NAME" OR
jsonPayload.dest_gke_details.cluster.cluster_name="CLUSTER_NAME")
Journaux correspondant au trafic sortant des VM d'un sous-réseau
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.reporter="SRC" AND
jsonPayload.src_vpc.subnetwork_name="SUBNET_NAME" AND
(jsonPayload.dest_vpc.subnetwork_name!="SUBNET_NAME" OR NOT
jsonPayload.dest_vpc.subnetwork_name:*)
Journaux correspondant uniquement au trafic sortant des VM d'un réseau VPC
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.reporter="SRC" AND
jsonPayload.src_vpc.vpc_name="VPC_NAME" AND
(jsonPayload.dest_vpc.vpc_name!="VPC_NAME" OR NOT jsonPayload.dest_vpc:*)
Journaux relatifs au trafic vers une plage de sous-réseau spécifique
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
ip_in_net(jsonPayload.connection.dest_ip, "SUBNET_RANGE")
Journaux d'un port de destination individuel
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.connection.dest_port=PORT
jsonPayload.connection.protocol=PROTOCOL
Journaux pour plusieurs ports de destination
resource.type=("vpc_flow_logs_config" OR "gce_subnetwork")
logName=("projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows" OR
"projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows")
jsonPayload.connection.dest_port=(PORT_1 OR PORT_2)
jsonPayload.connection.protocol=PROTOCOL
Journaux d'un tunnel Cloud VPN source spécifique
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
jsonPayload.reporter="SRC_GATEWAY"
labels.target_resource_name="projects/PROJECT_NUMBER/regions/REGION/vpnTunnels/NAME"
journaux de tous les rattachements de VLAN de destination
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
jsonPayload.reporter="DEST_GATEWAY"
jsonPayload.dest_gateway.type="INTERCONNECT_ATTACHMENT"
Journaux de tous les rattachements de VLAN de destination dans une région spécifique
resource.type="vpc_flow_logs_config"
logName="projects/PROJECT_ID/logs/networkmanagement.googleapis.com%2Fvpc_flows"
jsonPayload.reporter="DEST_GATEWAY"
jsonPayload.dest_gateway.type="INTERCONNECT_ATTACHMENT"
jsonPayload.dest_gateway.location="REGION"

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet
  • CONFIG_NAME : nom de la configuration de journaux de flux VPC.
  • SUBNET_NAME : nom du sous-réseau
  • VM_NAME : nom de la VM
  • SUBNET_RANGE : plage CIDR, telle que 192.168.1.0/24
  • CLUSTER_NAME : nom du cluster GKE
  • VPC_NAME : nom du réseau VPC.
  • PORT_1 et PORT_2 : ports de destination
  • PROTOCOL : protocole de communication
  • PROJECT_NUMBER : numéro du projet du tunnel Cloud VPN
  • REGION : région du rattachement de VLAN ou du tunnel Cloud VPN.
  • NAME : nom du tunnel Cloud VPN

Routage des journaux vers BigQuery, Pub/Sub et des cibles personnalisées

Vous pouvez acheminer les journaux de flux depuis Logging vers la destination de votre choix, comme décrit dans la section Présentation du routage et du stockage de la documentation de Logging. Pour obtenir des exemples de filtres, consultez la section précédente.

Dépannage

Aucun vpc_flows n'apparaît dans Logging pour la ressource gce_subnetwork.

  • Vérifiez que la journalisation est activée pour le sous-réseau donné.
  • Les flux VPC ne sont disponibles que pour les réseaux VPC. Si vous travaillez avec un ancien réseau, aucun journal ne s'affichera.
  • Pour les réseaux VPC partagés, les journaux apparaissent uniquement dans le projet hôte, et non dans les projets de service. Vérifiez que vous recherchez bien les journaux dans le projet hôte.
  • Les filtres d'exclusion de Logging bloquent les journaux indiqués. Vérifiez qu'aucune règle d'exclusion ne supprime les journaux de flux VPC.
    1. Accédez au routeur de journaux.
    2. Dans le menu Autres actions de votre bucket de journaux, cliquez sur Afficher les détails du récepteur.
    3. Vérifiez qu'il n'existe aucune règle d'exclusion pouvant supprimer les journaux de flux VPC.
  • Utilisez Google Cloud CLI ou l'API pour déterminer si une configuration de filtrage des journaux filtre tout le trafic d'un sous-réseau donné. Par exemple, si filterExpr est défini sur false, aucun journal ne s'affiche.

Certains journaux n'affichent aucune valeur de type DAR ou octet.

  • Les mesures de latence DAR (délai aller-retour) peuvent être manquantes si un nombre insuffisant de paquets ont été échantillonnés pour capturer cette valeur. Cette situation est davantage susceptible de se produire pour les connexions à faible volume.
  • Les valeurs de type DAR ne sont disponibles que pour les flux TCP signalés par les VM.
  • Certains paquets sont envoyés sans charge utile. Si l'échantillonnage porte sur des paquets ne comportant que des en-têtes, la valeur de type octet est généralement nulle. Pour en savoir plus, consultez Format d'enregistrement.

Certains flux sont manquants.

  • Les paquets d'entrée sont échantillonnés après les règles de pare-feu VPC d'entrée. Assurez-vous qu'aucune règle de pare-feu d'entrée ne refuse les paquets qui doivent être journalisés. Si vous ne savez pas si les règles de pare-feu VPC bloquent des paquets d'entrée, vous pouvez activer la journalisation des règles de pare-feu et inspecter les journaux correspondants.
  • Seuls les protocoles TCP, UDP, ICMP, ESP et GRE sont acceptés. Les journaux de flux VPC ne sont compatibles avec aucun autre protocole.
  • Les journaux sont échantillonnés. Certains paquets à très faible volume peuvent donc passer à travers les mailles du filet.

Annotations GKE manquantes dans certains journaux

Assurez-vous que la version de votre cluster GKE est une version compatible.

Journaux manquants pour certains flux GKE

Assurez-vous que la visibilité intranœud est activée dans le cluster. Sinon, les flux entre les pods du même nœud ne sont pas consignés.

Journaux en double

Chaque configuration de journaux de flux VPC génère un ensemble distinct de journaux. Si vos informations de journalisation contiennent des journaux en double, vérifiez si la ressource de création de rapports est associée à plusieurs configurations.

Une ressource est associée à plusieurs configurations si vous créez plusieurs configurations par ressource ou si vous créez plusieurs configurations dont les portées se chevauchent, comme décrit dans la liste suivante :

  • Les journaux de flux VPC sont configurés pour l'organisation, et vous disposez de configurations supplémentaires pour l'organisation ou les réseaux VPC, les sous-réseaux, les rattachements de VLAN ou les tunnels Cloud VPN dans l'un des projets de l'organisation.

    Par défaut, une configuration de journaux de flux VPC pour une organisation génère des journaux pour toutes les instances de VM dans tous les sous-réseaux, tous les rattachements de VLAN et tous les tunnels Cloud VPN de l'organisation. Si vous créez des configurations supplémentaires, chacune d'elles génère son propre ensemble de journaux.

  • Les journaux de flux VPC sont configurés pour un réseau VPC, et vous disposez de configurations supplémentaires pour les sous-réseaux, les rattachements de VLAN ou les tunnels Cloud VPN dans le même réseau.

    Par défaut, une configuration de journaux de flux VPC pour un réseau VPC génère des journaux pour toutes les instances de VM de tous les sous-réseaux, tous les rattachements de VLAN et tous les tunnels Cloud VPN du réseau. Si vous créez des configurations supplémentaires, chacune d'elles génère son propre ensemble de journaux.

  • Les journaux de flux VPC sont configurés pour un sous-réseau à l'aide de l'API Network Management et de l'API Compute Engine. La configuration des journaux de flux VPC gérée par l'API Compute Engine pour le sous-réseau et chaque configuration applicable que vous créez à l'aide de l'API Network Management pour générer des journaux.

Pour en savoir plus sur les ressources enregistrées par chaque champ d'application de configuration des journaux de flux VPC, consultez Configurations compatibles. Pour afficher vos configurations de journaux de flux VPC, consultez Afficher les configurations de journaux de flux VPC (toutes).

Pour filtrer les journaux en double lorsque vous les consultez, vous pouvez utiliser les champs suivants :

  • Pour filtrer les journaux par nom de journal, spécifiez les champs resource_type et log_name.
  • Pour filtrer les journaux par configuration et nom de ressource cible, spécifiez les champs resource.labels.name et labels.target_resource_name.

Pour en savoir plus sur ces champs et sur la façon de les utiliser, consultez Exemples de requêtes de l'explorateur de journaux pour les journaux de flux VPC.

Étapes suivantes