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
)
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Toutes les ressources.
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
)
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Toutes les ressources.
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.
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.
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Toutes les ressources.
Dans la liste Sélectionner une ressource, cliquez sur Sous-réseau, puis sur Appliquer.
Cliquez sur Tous les noms de journaux.
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.
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Toutes les ressources.
Dans la liste Sélectionner une ressource, cliquez sur Sous-réseau.
Dans la liste ID de sous-réseau, sélectionnez le sous-réseau, puis cliquez sur Appliquer.
Cliquez sur Tous les noms de journaux.
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.
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
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).
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 VPNPROJECT_NUMBER
: numéro du projet du tunnel Cloud VPNREGION
: région du tunnel Cloud VPNNAME
: 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çantPROJECT_ID
par l'ID de votre projet Google Cloud etSUBNET_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.
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
etlabels.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 projetCONFIG_NAME
: nom de la configuration de journaux de flux VPC.SUBNET_NAME
: nom du sous-réseauVM_NAME
: nom de la VMSUBNET_RANGE
: plage CIDR, telle que192.168.1.0/24
CLUSTER_NAME
: nom du cluster GKEVPC_NAME
: nom du réseau VPC.PORT_1
etPORT_2
: ports de destinationPROTOCOL
: protocole de communicationPROJECT_NUMBER
: numéro du projet du tunnel Cloud VPNREGION
: 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.
- Accédez au routeur de journaux.
- Dans le menu Autres actions de votre bucket de journaux, cliquez sur Afficher les détails du récepteur.
- 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 surfalse
, 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
etlog_name
. - Pour filtrer les journaux par configuration et nom de ressource cible, spécifiez les champs
resource.labels.name
etlabels.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
- Consultez la documentation de Logging.
- Consultez la documentation sur les récepteurs de journaux.
- Analyser les journaux de flux dans Flow Analyzer