Informationen zu VPC-Flusslogs
Auf dieser Seite wird das Eintragsformat von VPC-Flusslogs beschrieben, einschließlich der verfügbaren Basis- und Metadatenfelder. Außerdem wird erklärt, wie Sie die Logfilterung nutzen, sodass nur Logs generiert werden, die bestimmten Kriterien entsprechen.
Eintragsformat
Logdatensätze umfassen Basisfelder – die wichtigsten Felder jedes Logdatensatzes – sowie Metadatenfelder, die zusätzliche Informationen enthalten. Metadatenfelder können weggelassen werden, um Speicherkosten zu sparen.
Einige Logfelder haben ein Mehrfeldformat mit mehr als einem Datenelement in einem bestimmten Feld. Das Feld connection hat beispielsweise das Format IpConnection. Dieses Format enthält die Quell- und Ziel-IP-Adresse sowie Protokoll und Port in einem einzigen Feld. Diese Felder mit Mehrfeldformat werden unter der Eintragsformattabelle beschrieben.
Hinweis: Die Werte für Metadatenfelder beruhen nicht auf dem Datenebenenpfad. Es handelt sich um Näherungswerte, die möglicherweise fehlen oder falsch sind. Im Gegensatz zu Metadatenfeldern werden die Werte für Basisfelder direkt aus Paketheadern übernommen.
| Feld | Feldformat | Feldtyp: Basis- oder optionale Metadaten |
|---|---|---|
| Verbindung |
IpConnection
Verbindungsdetails, die den Ablauf beschreiben, einschließlich des 5-Tupels und der NAT-IP-Adresse, falls zutreffend |
Basis |
| reporter |
string
Die Seite, die den Datenfluss gemeldet hat:
|
Basis |
| connection_direction |
string
Richtung der TCP-Verbindung relativ zum Reporter. Wird für VMs und serverlose Endpunkte ausgefüllt, wenn das TCP-Verbindungs-Logging aktiviert ist und während des Aggregationsintervalls ein ausgehendes folgende Arten von Werten sind möglich:
|
Basis |
| round_trip_time |
Latenzen
RTT in Millisekunden mit einer Genauigkeit im Submillisekundenbereich, gemessen während des Aggregationsintervalls. Dieses Feld wird für TCP-Traffic (für VMs und serverlose Endpunkte) und Falcon-Traffic ausgefüllt:
Nicht ausgefüllt:
|
Basis |
| rtt_msec |
int64
Umlaufzeit (RTT) in Millisekunden, gemessen während des Aggregationsintervalls. Dieses Feld wird so ausgefüllt:
Die gemessene RTT ist die Zeit, die zwischen dem Senden einer SEQ und dem Empfang einer entsprechenden ACK vergangen ist. |
Basis |
| bytes_sent |
int64
Geschätzte Anzahl der Nutzer-Nutzlast-Byte, die von der Quelle an das Ziel gesendet werden.1 Bei Paketen ohne Nutzer-Nutzlast ist der Wert null.2 Nicht ausgefüllt für verworfenen Traffic ( disposition=DROPPED) oder wenn das TCP-Verbindungs-Logging ein Verbindungsereignis ohne Stichproben-Datenpakete aufzeichnet.
|
Basis |
| packets_sent |
int64
Geschätzte Anzahl der Pakete, die von der Quelle an das Ziel gesendet werden.1 Nicht ausgefüllt für verworfenen Traffic ( disposition=DROPPED) oder wenn das TCP-Verbindungs-Logging ein Verbindungsereignis ohne Stichproben-Datenpakete aufzeichnet.
|
Basis |
| start_time |
string
Zeitstempel (RFC 3339-Datumsstring-Format) des ersten beobachteten Pakets während des aggregierten Zeitintervalls. |
Basis |
| end_time |
string
Zeitstempel (RFC 3339-Datumsstring-Format) des letzten beobachteten Pakets während des aggregierten Zeitintervalls. |
Basis |
| disposition |
string
Wird nur für Logeinträge automatisch eingefügt, die Paketverluste erfassen. Dieses Feld ist auf DROPPED gesetzt.
|
Basis |
| drop_reason |
string
Wird nur für Logeinträge mit disposition=DROPPED automatisch eingefügt.
Weitere Informationen finden Sie unter Annotationen für Paketverluste und Gründe für Paketverluste.
|
Basis |
| bytes_dropped |
int64
Geschätzte Anzahl der Nutzer-Nutzlast-Byte, die von der Quelle zum Ziel verworfen wurden. Wird nur für Logeinträge mit disposition=DROPPED automatisch eingefügt.
|
Basis |
| packets_dropped |
int64
Geschätzte Anzahl der Pakete, die von der Quelle zum Ziel verworfen wurden. Wird nur für Logeinträge mit disposition=DROPPED automatisch eingefügt.
|
Basis |
| throughput_inclusion |
string
Wird nur für Logeinträge mit disposition=DROPPED automatisch eingefügt.
Gibt an, ob der verworfene Traffic in die Felder bytes_sent und packets_sent einbezogen (INCLUDED) oder ausgeschlossen (EXCLUDED) wird, die für den Fluss vom selben Reporter gemeldet werden.
|
Basis |
| Quell- und Zielmetadatenfelder | ||
| src_gateway |
GatewayDetails
Wenn die Quelle des Flusses ein lokaler oder anderer Cloud-Endpunkt ist, der über ein Gateway wie einen VLAN-Anhang für Cloud Interconnect oder einen Cloud VPN-Tunnel mit Google Cloud verbunden ist, und eine der folgenden Bedingungen erfüllt ist, wird dieses Feld mit Gateway-Details gefüllt:
|
Metadaten |
| dest_gateway |
GatewayDetails
Wenn das Ziel des Flusses ein lokaler oder anderer Cloud-Endpunkt ist, der über ein Gateway wie einen VLAN-Anhang für Cloud Interconnect oder einen Cloud VPN-Tunnel mit Google Cloud verbunden ist, und eine der folgenden Bedingungen erfüllt ist, wird dieses Feld mit Gateway-Details gefüllt:
|
Metadaten |
| src_gke_details |
GkeDetails
Wenn die Quelle des Flusses ein Google Kubernetes Engine-Endpunkt (GKE) ist, wird dieses Feld mit GKE-Endpunktdetails ausgefüllt. |
Metadaten |
| dest_gke_details |
GkeDetails
Wenn das Ziel des Flusses ein GKE-Endpunkt ist, wird dieses Feld mit den Details des GKE-Endpunkts ausgefüllt. |
Metadaten |
| src_google_service |
GoogleServiceDetails
Wenn die Quelle des Datenflusses ein Google-Dienst ist, wird dieses Feld mit Dienstdetails gefüllt. |
Metadaten |
| dest_google_service |
GoogleServiceDetails
Wenn das Ziel des Datenflusses ein Google-Dienst ist, wird dieses Feld mit Dienstdetails gefüllt. |
Metadaten |
| src_instance |
InstanceDetails
Wenn die Quelle des Flusses eine VM in einem VPC-Netzwerk ist und eine der folgenden Bedingungen erfüllt ist, wird dieses Feld mit VM-Instanzdetails gefüllt:
|
Metadaten |
| dest_instance |
InstanceDetails
Wenn das Ziel des Flusses eine VM in einem VPC-Netzwerk ist und eine der folgenden Bedingungen erfüllt ist, wird dieses Feld mit VM-Instanzdetails gefüllt.
|
Metadaten |
| src_location |
GeographicDetails
Wenn die Quelle des Flusses eine öffentliche IP-Adresse außerhalb des VPC-Netzwerks ist, wird dieses Feld mit verfügbaren Standortmetadaten gefüllt. |
Metadaten |
| dest_location |
GeographicDetails
Wenn das Ziel des Flusses eine öffentliche IP-Adresse außerhalb des VPC-Netzwerks ist, wird dieses Feld mit verfügbaren Standortmetadaten gefüllt. |
Metadaten |
| src_serverless_details |
ServerlessDetails
Wenn die Quelle des Flusses ein serverloser Endpunkt ist, z. B. eine Cloud Run- oder App Engine-Ressource, die mit Direct VPC Egress konfiguriert ist, wird dieses Feld mit serverlosen Metadaten gefüllt. |
Metadaten |
| dest_serverless_details |
ServerlessDetails
Wenn das Ziel des Flusses ein serverloser Endpunkt ist, z. B. eine Cloud Run- oder App Engine-Ressource, die mit Direct VPC-Ausgang konfiguriert ist, wird dieses Feld mit serverlosen Metadaten gefüllt. |
Metadaten |
| src_psc_interface |
PrivateServiceConnectInterfaceDetails
Wenn die Quelle des Datenflusses eine Private Service Connect-Schnittstelle ist, wird dieses Feld mit Private Service Connect-Schnittstellendetails ausgefüllt und im Nutzerprojekt sowohl von der Quelle als auch vom Ziel gemeldet. |
Metadaten |
| dest_psc_interface |
PrivateServiceConnectInterfaceDetails
Wenn das Ziel des Datenflusses eine Private Service Connect-Schnittstelle ist, wird dieses Feld mit Private Service Connect-Schnittstellendetails ausgefüllt und im Nutzerprojekt sowohl von der Quelle als auch vom Ziel gemeldet. |
Metadaten |
| src_vpc |
VpcDetails
Wenn die Quelle des Flusses eine VM oder ein serverloser Endpunkt in einem VPC-Netzwerk ist und eine der folgenden Bedingungen erfüllt ist, wird dieses Feld mit VPC-Netzwerkdetails gefüllt:
|
Metadaten |
| dest_vpc |
VpcDetails
Wenn das Ziel des Flusses eine VM oder ein serverloser Endpunkt in einem VPC-Netzwerk ist und eine der folgenden Bedingungen erfüllt ist, wird dieses Feld mit VPC-Netzwerkdetails gefüllt:
|
Metadaten |
| Andere Metadatenfelder | ||
| internet_routing_details |
InternetRoutingDetails
Wenn der Fluss zwischen Google Cloud und dem Internet besteht, wird dieses Feld mit Routingdetails gefüllt. Nur verfügbar für ausgehende Datenflüsse. |
Metadaten |
| load_balancing |
LoadBalancingDetails
Wenn der Datenfluss einen Load Balancer in einer der folgenden Konfigurationen passiert, werden in dieses Feld Cloud Load Balancing-Details eingefügt:
|
Metadaten |
| nat_gateway_details |
NatGatewayDetails
Wenn der Reporter des Flusses SRC in einem Subnetz ist, in dem ein Cloud NAT-Gateway die Netzwerkadressübersetzung durchführt, wird dieses Feld mit den Details des Cloud NAT-Gateways gefüllt.
|
Metadaten |
| network_service |
NetworkServiceDetails
Wenn der DSCP-Header (Differentiated Services Code Point) festgelegt ist, wird dieses Feld mit Netzwerkdienstdetails gefüllt. |
Metadaten |
| psc |
PrivateServiceConnectDetails
Wenn der Fluss mit einer Private Service Connect-Verbindung verknüpft ist, einschließlich einer über das Network Connectivity Center weitergegebenen Verbindung, und eine der folgenden Bedingungen erfüllt ist, wird dieses Feld mit Private Service Connect-Details ausgefüllt:
|
Metadaten |
| rdma_traffic_type |
string
Typ des RDMA-Traffics. Wird für GPU-zu-GPU-Traffic zwischen VMs ausgefüllt. Kann GPUDirect-TCPXO, Falcon oder RoCE sein.
|
Metadaten |
- Wenn die Quell-VM der Melder ist, ist der gemeldete Bytewert die Summe der gesendeten Nutzer-Nutzlast-Byte und Paket-Header-Byte. Dieser Wert ist immer größer als null, auch bei Paketen, die keine Nutzlast enthalten.
- Wenn die Ziel-VM der Melder ist, entspricht der Wert für die gemeldeten Byte den empfangenen und an die Anwendungsebene weitergeleiteten Nutzer-Nutzlastbyte. Bei Paketen ohne Nutzlast ist der Bytewert null.
Feldformat von GatewayDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| project_id | String | Google Cloud : Projekt-ID des Gateways |
| Standort | String | Region des Gateways |
| Name | String | Name des Gateways |
| Typ | String |
Typ des Gateways. Kann INTERCONNECT_ATTACHMENT oder VPN_TUNNEL sein.
|
| vpc | VpcDetails | VPC-Netzwerkdetails des Gateways |
| interconnect_name | String |
Wenn der Gateway-Typ INTERCONNECT_ATTACHMENT ist, enthält dieses Feld den Namen der Cloud Interconnect-Verbindung, für die der VLAN-Anhang konfiguriert ist.
|
| interconnect_project_number | int64 |
Wenn der Gateway-Typ INTERCONNECT_ATTACHMENT ist, wird dieses Feld mit der Google Cloud Projektnummer der Cloud Interconnect-Verbindung gefüllt, für die der VLAN-Anhang konfiguriert ist.
|
Feldformat von GeographicDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| asn | int32 | Die ASN des externen Netzwerks, zu dem der Endpunkt gehört. |
| Ort | String | Stadt für externe Endpunkte |
| continent | String | Kontinent für externe Endpunkte |
| Land | String | Land für externe Endpunkte, dargestellt als Ländercodes gemäß ISO 3166-1 Alpha-3. |
| Region | String | Region für externe Endpunkte |
Feldformat von GkeDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| Cluster | Clusterdetails | GKE-Clustermetadaten. |
| Pod | PodDetails | GKE-Pod-Metadaten, die ausgefüllt werden, wenn die Quelle oder das Ziel des Traffics ein Pod ist. |
| service | ServiceDetails |
GKE-Dienstmetadaten, die nur in Dienstendpunkten ausgefüllt werden. Der Eintrag enthält bis zu zwei Dienste. Wenn mehr als zwei relevante Dienste vorhanden sind, enthält dieses Feld einen einzelnen Dienst mit einer speziellen MANY_SERVICES-Markierung.
|
Feldformat von ClusterDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| cluster_location | String | Speicherort des Clusters. Dies kann eine Zone oder Region sein, je nachdem, ob der Cluster zonal oder regional ist. |
| cluster_name | String | Name des GKE-Clusters. |
Feldformat von PodDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| pod_name | String | Name des Pods. |
| pod_namespace | String | Namespace des Pods. |
| Arbeitslast | WorkloadDetails | Metadaten zur Arbeitslastressource der obersten Ebene, die den Pod steuert |
Feldformat von WorkloadDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| workload_name | String | Name des Arbeitslastkontrollers auf oberster Ebene |
| workload_type | String |
Typ des Arbeitslast-Controllers der obersten Ebene. Kann
DEPLOYMENT, REPLICA_SET,
STATEFUL_SET, DAEMON_SET, JOB,
CRON_JOB oder
REPLICATION_CONTROLLER sein.
|
Feldformat von ServiceDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| service_name | String |
Name des Dienstes, Wenn mehr als zwei relevante Dienste vorhanden sind, wird das Feld auf eine spezielle MANY_SERVICES-Markierung gesetzt.
|
| service_namespace | String | Namespace des Dienstes. |
Beispiel:
Wenn zwei Dienste vorhanden sind, sieht das Dienstfeld so aus:
service: [
0: {
service_name: "my-lb-service"
service_namespace: "default"
}
1: {
service_name: "my-lb-service2"
service_namespace: "default"
}
]
Wenn mehr als zwei Dienste vorhanden sind, sieht das Dienstfeld so aus:
service: [
0: {
service_name: "MANY_SERVICES"
}
]
Feldformat von GoogleServiceDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| Typ | String | Art des Dienstes:
|
| service_name | String | Name des Dienstes. Beispiel: Einschränkungen:
|
| Verbindung | String | Zugriffsmethode. Für den Typ
Für den Typ
|
| private_domain | String | Private Domain oder Private Service Connect API-Bundle. Das Feld „private_domain“ kann einen der folgenden Werte haben:
|
Feldformat von InstanceDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| project_id | String | ID des Projekts in Google Cloud , das die VM-Ressource enthält |
| Region | String | Region der VM |
| vm_name | String | Instanzname der VM |
| Zone | String | Zone der VM |
| managed_instance_group | InstanceGroupDetails | Wenn die VM Teil einer verwalteten Instanzgruppe ist, enthält dieses Feld Details zur Instanzgruppe. |
Feldformat von InstanceGroupDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| Name | String | Name der Instanzgruppe |
| Region | String | Wenn die Instanzgruppe regional ist, wird dieses Feld mit der Region der Instanzgruppe gefüllt. |
| Zone | String | Wenn die Instanzgruppe zonal ist, wird dieses Feld mit der Zone der Instanzgruppe ausgefüllt. |
Feldformat von InternetRoutingDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| egress_as_path | AsPath | Liste der relevanten AS-Pfade. Wenn mehrere AS-Pfade für den Fluss verfügbar sind, kann das Feld mehr als einen AS-Pfad enthalten. |
Feldformat von AsPath
| Feld | Typ | Beschreibung |
|---|---|---|
| as_details | AsDetails | Liste der AS-Details für alle Systeme im AS-Pfad. Die Liste beginnt mit dem ersten AS außerhalb des Netzwerks von Google Cloudund endet mit dem AS, zu dem die Remote-IP-Adresse gehört. |
Feldformat von AsDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| asn | uint32 | Die autonome Systemnummer (Autonomous System Number, ASN) des AS |
Feldformat von IpConnection
| Feld | Typ | Beschreibung |
|---|---|---|
| src_ip | String | IP-Adresse der Quelle. Wird für alle Abläufe ausgefüllt. |
| dest_ip | String | IP-Adresse des Ziels. Wird für alle Abläufe ausgefüllt. |
| src_port | int32 | Quellport:
|
| dest_port | int32 | Zielport:
|
| nat_ip | String | IP-Adresse, die vom Cloud NAT-Gateway verwendet wird (falls konfiguriert). Wird nur ausgefüllt, wenn der Melder SRC ist. |
| nat_port | int32 | Vom Cloud NAT-Gateway zugewiesener Port (falls konfiguriert). Wird nur ausgefüllt, wenn der Melder SRC ist. |
| Protokoll | int32 | Die IANA-Protokollnummer:
|
Feldformat für Latenzen
| Feld | Typ | Beschreibung |
|---|---|---|
| median_msec | double | Die mittlere Latenz in Millisekunden, gemessen während des Aggregationsintervalls. |
Feldformat von LoadBalancingDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| forwarding_rule_project_id | String | Google Cloud : Projekt-ID der Weiterleitungsregel |
| reporter | String | Cloud Load Balancing-Melder Kann entweder CLIENT oder BACKEND sein.
|
| Typ | String | Load-Balancer-Typ. Kann APPLICATION_LOAD_BALANCER,
PROXY_NETWORK_LOAD_BALANCER,
PASSTHROUGH_NETWORK_LOAD_BALANCER,
oder PROTOCOL_FORWARDING sein. |
| scheme | String | Load-Balancer-Schema. Kann EXTERNAL_MANAGED,
INTERNAL_MANAGED, EXTERNAL,
INTERNAL oder INTERNAL_SELF_MANAGED sein. |
| url_map_name | String | Name der URL-Zuordnung. Wird ausgefüllt, wenn der Typ des Load Balancers APPLICATION_LOAD_BALANCER ist. |
| forwarding_rule_name | String | Name der Weiterleitungsregel |
| backend_service_name | String | Name des Backend-Dienstes. Wird ausgefüllt, wenn BACKEND der Melder und PASSTHROUGH_NETWORK_LOAD_BALANCER der Load Balancer-Typ ist. Wenn der Backend-Gruppentyp TARGET_POOL ist, wird dieses Feld nicht ausgefüllt. |
| backend_service_project_id | String | Projekt-ID des Backend-Dienstes.
Wird ausgefüllt, wenn der Melder BACKEND und der Load Balancer-Typ PASSTHROUGH_NETWORK_LOAD_BALANCER ist. Wenn der Backend-Gruppentyp TARGET_POOL ist, wird dieses Feld nicht ausgefüllt. |
| backend_group_name | String | Name der Backend-Gruppe. Wird ausgefüllt, wenn BACKEND der Melder und PASSTHROUGH_NETWORK_LOAD_BALANCER der Load Balancer-Typ ist. |
| backend_group_type | String | Typ der Backend-Gruppe. Kann INSTANCE_GROUP,
NETWORK_ENDPOINT_GROUP oder TARGET_POOL sein.
Wird ausgefüllt, wenn der Melder BACKEND und der Load Balancer-Typ PASSTHROUGH_NETWORK_LOAD_BALANCER ist. |
| backend_group_location | String | Speicherort der Backend-Gruppe. Kann eine Zone oder Region sein, je nachdem, ob der Umfang der Backend-Gruppe zonal oder regional ist.
Wird ausgefüllt, wenn der Melder BACKEND und der Load Balancer-Typ PASSTHROUGH_NETWORK_LOAD_BALANCER ist. Wenn der Backend-Gruppentyp TARGET_POOL ist, wird dieses Feld nicht ausgefüllt. |
| vpc | VpcDetails | VPC-Netzwerkdetails des Load Balancers |
Feldformat von NatGatewayDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| gateway_name | String | Name des Cloud NAT-Gateways |
| router_name | String | Name des Cloud Router, der mit dem Cloud NAT-Gateway verknüpft ist |
| project_id | String | Google Cloud : Projekt-ID des Cloud NAT-Gateways und des Cloud Router |
| Region | String | Region des Cloud NAT-Gateways und des Cloud Router |
| Typ | String | Cloud NAT-Typ: PUBLIC oder PRIVATE |
Feldformat von NetworkServiceDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| dscp | int32 | Wenn in Paketheadern das Feld „Differentiated Services“ vorhanden ist, wird der DSCP-Wert automatisch eingefügt. |
Gründe für Paketverlust
In der folgenden Tabelle werden die unterstützten Werte des Felds drop_reason beschrieben, wenn sie von SRC oder SRC_GATEWAY gemeldet werden.
| Löschgrund | Beschreibung |
|---|---|
FIREWALL_DENY |
Ausgehender Traffic wurde verworfen, weil eine Firewallregel für ausgehenden Traffic ausgewertet wurde und die Aktion Empfehlung: Wenn Sie diesen Traffic zulassen möchten, passen Sie Ihre Firewallregeln an. |
NAT_ENDPOINT_INDEPENDENT_CONFLICT |
Ausgehender Traffic wurde aufgrund eines endpunktunabhängigen Zuordnungskonflikts verworfen. Empfehlung: Lesen Sie die folgende Cloud NAT-Dokumentation: |
NAT_OUT_OF_CONNECTIONS |
Ausgehender Traffic wurde verworfen, weil die NAT-Verbindungstrackingtabelle ihre maximale Kapazität erreicht hat. Empfehlung: Lesen Sie die Informationen zu NAT-Verbindungslimits pro VM und NAT-Zeitlimits. |
NAT_OUT_OF_PORTS |
Ausgehender Traffic wurde verworfen, weil dem Cloud NAT-Gateway die NAT-2-Tupel (Ports) ausgegangen sind, die VMs zugewiesen werden können. Daher konnte die VM-Netzwerkschnittstelle keine Pakete über das Gateway senden. Empfehlung: Achten Sie darauf, dass Ihre NAT-IP-Adressen und Ports pro VM ausreichend sind. Weitere Informationen finden Sie unter IP-Adressen und Ports. |
NO_MATCHING_ROUTE |
Ausgehender Traffic wurde verworfen, weil es keine übereinstimmende Route für das Ziel gab. Empfehlung: Prüfen Sie die Routen in Ihrem VPC-Netzwerk im Abschnitt „Aktive Routen“ der Google Cloud Console. Sie können auch Konnektivitätstests erstellen und ausführen. |
QUEUE_OVERFLOW |
Ausgehender Traffic wurde verworfen, weil die Paketverarbeitungssoftware des Hosts die CPU-Kapazität überschritten hat. Empfehlung: Wenn die Abbrüche dauerhaft sind, sollten Sie VMs mit höherer Bandbreite (Tier_1) verwenden oder den Traffic auf mehr VMs verteilen. |
SPOOFED_SOURCE |
Ausgehender Traffic wurde verworfen, weil die Quelle des Pakets nicht mit der VM-Netzwerkschnittstelle verknüpft war und die IP-Weiterleitung deaktiviert ist. Empfehlung: Wenn Sie Pakete mit beliebigen Quellen von einer VM-Netzwerkschnittstelle an Ziele senden möchten, die innerhalb eines VPC-Netzwerk routingfähig sind, müssen Sie die IP-Weiterleitung für die VM aktivieren. |
TOO_MANY_CONNECTIONS |
Ausgehender Traffic wurde verworfen, da die Paketverarbeitungssoftware des Hosts die Flussrate nicht verarbeiten konnte. Empfehlung: Verwenden Sie eine andere Maschinenserie, die für eine größere Anzahl von Verbindungen ausgelegt ist, oder verteilen Sie Ihre Arbeitslast auf mehr VMs. |
In der folgenden Tabelle werden die unterstützten Werte des Felds drop_reason beschrieben, wenn sie von DEST oder DEST_GATEWAY gemeldet werden.
| Löschgrund | Beschreibung |
|---|---|
EARLY_DROPS_FULL_FAIR_QUEUE |
Eingehender Traffic wurde verworfen, da die Paketverarbeitungssoftware des Hosts die Ressourcengerechtigkeit erzwungen hat. Dieses Verhalten betrifft in der Regel nur die Maschinenserie der 1. Generation. Empfehlung: Wenn die Einbrüche anhalten, sollten Sie zu einer neueren oder leistungsstärkeren Maschinenfamilie migrieren. |
FIREWALL_DENY |
Eingehender Traffic wurde verworfen, weil eine Firewallregel für eingehenden Traffic ausgewertet wurde und ihre Aktion Empfehlung: Wenn Sie diesen Traffic zulassen möchten, passen Sie Ihre Firewallregeln an. |
INVALID_L4_CHECKSUM_INTERNET |
Eingehender Traffic wurde verworfen, weil eine Prüfsummenabweichung erkannt wurde. Die Pakete wurden von einer Quelle außerhalb des VPC-Netzwerk an eine externe Ziel-IP-Adresse gesendet, die mit dem VM-Reporter verknüpft ist. Weitere Informationen finden Sie unter Eingehender Traffic zu Zielen außerhalb eines VPC-Netzwerks. Empfehlung: Wenn die Abfälle dauerhaft sind, untersuchen Sie den Zustand der Quelle oder des Netzwerkpfads. |
INVALID_L4_CHECKSUM_INTERNAL |
Eingehender Traffic wurde verworfen, weil eine Prüfsummenabweichung erkannt wurde. Die Pakete wurden innerhalb des VPC-Netzwerk an eine Ziel-IP-Adresse weitergeleitet, die mit dem VM-Reporter verknüpft ist. Weitere Informationen finden Sie unter Eingehender Traffic zu Zielen in einem VPC-Netzwerk. Empfehlung: Wenn die Abfälle dauerhaft sind, untersuchen Sie den Zustand der Quelle oder des Netzwerkpfads. |
PSC_NAT_OUT_OF_CONNECTIONS |
Eingehender Traffic wurde verworfen, weil der Private Service Connect-Endpunkt die maximale Anzahl gleichzeitiger Verbindungen für den Nutzer erreicht hat. Empfehlung: Bitten Sie den Nutzer, die Rate neuer Verbindungen zu diesem Private Service Connect-Endpunkt zu reduzieren oder die Verbindungen zu diesem Private Service Connect-Endpunkt auf mehr Client-VMs zu verteilen. |
PSC_NAT_OUT_OF_PORTS |
Eingehender Traffic von einem Private Service Connect-Nutzer wurde verworfen, weil die Private Service Connect-NAT-Ports erschöpft waren. Empfehlung: Überprüfen Sie die Größe des NAT-Subnetzes. |
QUEUE_OVERFLOW |
Eingehender Traffic wurde verworfen, weil die Paketverarbeitungssoftware des Hosts die CPU-Kapazität überschritten hat. Empfehlung: Wenn die Abbrüche dauerhaft sind, sollten Sie VMs mit höherer Bandbreite (Tier_1) verwenden oder den Traffic auf mehr VMs verteilen. |
TOO_MANY_CONNECTIONS |
Eingehender Traffic wurde verworfen, weil die Paketverarbeitungssoftware des Hosts die Durchflussrate nicht verarbeiten konnte. Empfehlung: Wenn die hohe Flussrate auf eine hohe Verbindungsgleichzeitigkeit oder einen hohen Umsatz auf VM-Ebene zurückzuführen ist, sollten Sie die Rate neuer Verbindungen zur VM reduzieren. |
Feldformat von PrivateServiceConnectDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| reporter | String | Private Service Connect-Melder.
Kann entweder CONSUMER oder PRODUCER sein. |
| consumer_connection | IpConnection |
Das 5-Tupel vor der NAT, das den Fluss aus Sicht des Nutzers beschreibt. Wird ausgefüllt, wenn der Melder PRODUCER ist.
|
| psc_endpoint | PrivateServiceConnectEndpointDetails | Details zum Nutzerendpunkt |
| psc_attachment | PrivateServiceConnectAttachmentDetails | Details zum Producer-Dienstanhang |
Feldformat von PrivateServiceConnectEndpointDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| Name | String |
Name des Private Service Connect-Endpunkts. Wird nur ausgefüllt, wenn target_service_type PUBLISHED_SERVICE ist.
|
| project_id | String | Google Cloud : Projekt-ID des Endpunkts. |
| Region | String | Region des Endpunkts. Wird nicht ausgefüllt, wenn der Zieldiensttyp GLOBAL_GOOGLE_APIS ist. |
| psc_connection_id | String | Private Service Connect-Verbindungs-ID |
| target_service_type | String | Typ des Zieldienstes.. Kann entweder GLOBAL_GOOGLE_APIS oder PUBLISHED_SERVICE sein. |
| vpc | VpcDetails |
VPC-Netzwerkdetails des Endpunkts.
Wenn der Melder PRODUCER ist, werden die Felder subnetwork_name und subnetwork_region nicht ausgefüllt.
|
Feldformat von PrivateServiceConnectAttachmentDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| Name | String | Name des Dienstanhangs |
| project_id | String | Google Cloud Projekt-ID des Dienstanhangs |
| Region | String | Region des Dienstanhangs |
| vpc | VpcDetails | VPC-Netzwerkdetails des Dienst-Anhangs |
Feldformat von PrivateServiceConnectInterfaceDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| network_attachment | NetworkAttachmentDetails | Metadaten für den Netzwerkanhang des Nutzers |
| Ersteller | ProducerDetails | Metadaten für den Ersteller, der die Verbindung initiiert hat |
Feldformat von NetworkAttachmentDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| Name | String | Name des Netzwerkanhangs |
| project_id | String | Google Cloud : Projekt-ID des Netzwerkanhangs |
| Region | String | Region des Netzwerkanhangs |
Feldformat von ProducerDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| project_id | String |
Google Cloud -Projekt-ID des Erstellers. Wird nur ausgefüllt, wenn das Feld service_class_id nicht verfügbar ist.
|
| Region | String | Region der Ersteller-VM |
| service_class_id | String | ID der Dienstklasse des Erstellers (falls verfügbar) |
| Zone | String | Zone der Ersteller-VM |
Feldformat von ServerlessDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| project_id | String | ID des Google Cloud -Projekts, das die Cloud Run- oder App Engine-Ressource enthält. In der Konfiguration einer freigegebene VPC ist die Projekt-ID normalerweise die ID des Dienstprojekts. |
| Region | String | Region der Cloud Run- oder App Engine-Ressource |
Eines der folgenden Betriebssysteme:
|
Eines der folgenden Betriebssysteme: |
Name der Cloud Run- oder App Engine-Ressource |
Feldformat von CloudRunServiceDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| service_name | String | Name des Cloud Run-Dienstes |
Feldformat von CloudRunJobDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| job_name | String | Name des Cloud Run-Jobs |
Feldformat von CloudRunWorkerPoolDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| worker_pool_name | String | Name des Cloud Run-Worker-Pools |
Feldformat von AppEngineServiceDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| service_name | String | Name des App Engine-Dienstes |
Feldformat von VpcDetails
| Feld | Typ | Beschreibung |
|---|---|---|
| project_id | String | ID des Google Cloud -Projekts, das die VPC enthält. In einer freigegebene VPC-Konfiguration ist die Projekt-ID die ID des Hostprojekts. |
| subnetwork_name | String | Name des Subnetzes, falls zutreffend |
| subnetwork_region | String | Region des Subnetzes, falls zutreffend |
| vpc_name | String | Name des Netzwerks |
Metadatenannotationen
Logdatensätze umfassen Basisfelder und Metadatenfelder. Unter Eintragsformat wird angezeigt, welche Felder vom Typ Metadaten sind und welche Typ Basis sind. Die Basisfelder sind immer enthalten. Sie können festlegen, welche Metadatenfelder beibehalten werden.
Wenn Sie alle Metadaten auswählen, sind alle Metadatenfelder im Eintragsformat für VPC-Flusslogs enthalten. Wenn dem Eintragsformat neue Metadatenfelder hinzugefügt werden, enthalten die Flusslogs automatisch die neuen Felder.
Wenn Sie keine Metadaten auswählen, werden alle Metadatenfelder weggelassen.
Wenn Sie benutzerdefinierte Metadaten auswählen, können Sie die Metadatenfelder, die Sie vom übergeordneten Feld einschließen möchten, angeben, z. B.
src_vpc, oder ihren vollständigen Namen angeben, z. B.src_vpc.project_id.Wenn dem Eintragsformat neue Metadatenfelder hinzugefügt werden, werden sie aus den Flusslogs ausgeschlossen, es sei denn, sie befinden sich in einem übergeordneten Feld, das Sie angegeben haben.
Wenn Sie benutzerdefinierte Metadaten mithilfe von übergeordneten Feldern festlegen, werden den neuen Audit-Logs automatisch die neuen Felder hinzugefügt, wenn dem Eintragsformat in dem übergeordneten Feld neue Metadatenfelder hinzugefügt werden.
Wenn Sie benutzerdefinierte Metadaten mit dem vollständigen Namen des Felds angeben, werden neue Metadatenfelder, die dem übergeordneten Feld hinzugefügt werden, aus den Flusslogs ausgeschlossen.
Informationen zum Anpassen von Metadatenfeldern finden Sie unter VPC-Flusslogs aktivieren oder Konfiguration von VPC-Flusslogs aktualisieren.
Projektübergreifende Annotationen
Wenn VPC-Flusslogs auf Organisationsebene aktiviert sind, werden Datenflüsse über freigegebene VPC, VPC-Netzwerk-Peering und Network Connectivity Center mit projektübergreifenden Annotationen versehen. Projektübergreifende Annotationen sind standardmäßig aktiviert. Sie können diese Annotationen optional deaktivieren.
- Wenn projektübergreifende Annotationen aktiviert sind, enthalten Logeinträge für Datenflüsse zwischen Ressourcen in verschiedenen Projekten Informationen zu beiden Seiten des Datenflusses.
- Wenn projektübergreifende Annotationen deaktiviert sind, enthalten Logeinträge nur Informationen zum Melder des Ablaufs.
Wenn VPC-Flusslogs auf Projektebene aktiviert sind, werden Datenflüsse zwischen Ressourcen in verschiedenen Projekten nicht mit projektübergreifenden Annotationen versehen.
GKE-Annotationen
Flüsse, die einen Endpunkt in einem GKE-Cluster haben, können mit GKE-Annotationen annotiert werden. Diese können Details zum Cluster, Pod und Dienst des Endpunkts enthalten.
GKE-Dienstannotationen
Traffic, der an einen ClusterIP, NodePort oder LoadBalancer gesendet wird, kann Dienstannotationen empfangen. Wenn er an einen NodePort oder LoadBalancer gesendet wird, empfängt der Fluss die Dienstannotation in beiden Hops der Verbindung.
Traffic, der direkt an den Dienstport eines Pods gesendet wird, wird mit einer Dienstannotation am Zielendpunkt annotiert.
Traffic, der an den Dienstport eines Pods gesendet wird, der mehr als einen Dienst am selben Dienstport unterstützt, wird mit mehreren Diensten am Zielendpunkt annotiert. Dies ist auf zwei Dienste beschränkt. Wenn mehr Dienste vorhanden sind, wird der Endpunkt mit einer speziellen MANY_SERVICES-Markierung versehen.
Pod-Annotationen zu Internettraffic
Der Traffic zwischen einem Pod und dem Internet erhält standardmäßig keine Pod-Annotationen. VPC-Flusslogs können keine Pod-Annotationen hinzufügen, da der Masquerade-Agent bei Paketen im Internet die Pod-IP-Adresse in die Knoten-IP-Adresse übersetzt, bevor VPC-Flusslogs das Paket sehen.
Aufgrund der Masquerade sind Pod-Annotationen nur sichtbar, wenn sich die Ziele entweder innerhalb der Standardziele ohne Masquerade oder in einer benutzerdefinierten nonMasqueradeCIDRs-Liste befinden.
Wenn Sie Internetziele in eine benutzerdefinierte nonMasqueradeCIDRs-Liste aufnehmen, müssen Sie eine Möglichkeit bereitstellen, damit die internen Pod-IP-Adressen übersetzt werden können, bevor sie im Internet bereitgestellt werden. Für private und nicht private Cluster können Sie Cloud NAT verwenden. Weitere Informationen finden Sie unter GKE-Interaktion.
Einträge für verworfenen Traffic
VPC-Flusslogs generieren Logeinträge für verworfenen Traffic. Logeinträge für verworfenen Traffic werden separat von Standardlogeinträgen generiert. Paketverluste werden nach Fluss und Grund für den Verlust zusammengefasst. Innerhalb eines Aggregationsintervalls werden Paketverluste mit demselben Grund in einem einzigen Logeintrag zusammengefasst. Für jeden eindeutigen Grund für den Paketverlust werden separate Logeinträge generiert.
Ausgehende Drops werden von der Quelle (SRC oder SRC_GATEWAY) und eingehende Drops vom Ziel (DEST oder DEST_GATEWAY) gemeldet. Wenn VPC-Flusslogs sowohl für die Quelle als auch für das Ziel aktiviert sind, gilt Folgendes:
- Verworfener ausgehender Traffic. Wenn auf der Quellseite ein Drop auftritt, werden für die Quelle sowohl ein Standard-Logeintrag als auch ein Logeintrag mit dem Grund für den Drop generiert. Für das Ziel wird kein Logeintrag generiert, da der Traffic nie an das Ziel gesendet wurde.
- Ingress-Drops. Wenn auf der Zielseite ein Drop auftritt, werden Logeinträge sowohl für die Quelle als auch für das Ziel generiert. Für die Quelle generiert VPC-Flusslogs einen Standard-Logeintrag und für das Ziel nur einen Logeintrag, der den Grund für das Verwerfen enthält.
Logeinträge für verworfenen Traffic enthalten die Felder disposition, drop_reason, bytes_dropped, packets_dropped und throughput_inclusion.
Eine Liste der Gründe für verworfene Pakete finden Sie unter Gründe für verworfene Pakete.
Logfilterung
Wenn Sie VPC-Flusslogs aktivieren, können Sie einen Filter anhand von Basis- und Metadatenfeldern festlegen, die nur Logs beibehalten, die dem Filter entsprechen. Alle anderen Logs werden verworfen, bevor sie in Logging geschrieben werden.
Sie können nach einer beliebigen Teilmenge von Feldern filtern, die im Eintragsformat aufgeführt sind, mit Ausnahme der folgenden Felder:
rtt_msecbytes_sentpackets_sentstart_timeend_timebytes_droppedpackets_droppedthroughput_inclusion
Bei der VPC-Flusslog-Filterung wird CEL verwendet, eine eingebettete Ausdruckssprache für attributbasierte logische Ausdrücke. Filterausdrücke für VPC-Flusslogs sind auf 2.048 Zeichen begrenzt. Weitere Informationen finden Sie unter Unterstützte CEL-Operatoren.
Weitere Informationen zu CEL finden Sie in der CEL-Einführung und in der Sprachdefinition. Das Generierungsfilter-Feature unterstützt eine begrenzte Teilmenge der CEL-Syntax.
Informationen zum Erstellen einer VPC-Flusslogkonfiguration mit Logfilterung finden Sie unter VPC-Flusslogs aktivieren. Informationen zum Konfigurieren der Logfilterung für eine vorhandene VPC-Flusslogkonfiguration finden Sie unter VPC-Flusslogkonfiguration aktualisieren. Beispiele für Logfilter finden Sie unter Beispiele für Logfilter.
Unterstützte logische CEL-Operatoren
| Ausdruck | Unterstützte Typen | Beschreibung |
|---|---|---|
| true, false | boolean | Boolesche Konstanten |
x == y x != y |
boolean, int, string | Vergleichsoperator Beispiel: connection.protocol == 6 |
x && y x || y |
boolean | Boolesche logische Operatoren Beispiel: connection.protocol == 6 && src_instance.vm_name == "vm_1" |
| !x | boolean | Negation |
| 1, 2.0, 0, ... | int | Konstante numerische Literale |
| x + y | String | String-Verkettung |
| "foo", 'foo', ... | String | Konstantes Stringliteral |
| x.lower() | String | Gibt den Kleinbuchstabenwert des Strings zurück |
| x.upper() | String | Gibt den Großbuchstabenwert des Strings zurück |
| x.contains(y) | String | Gibt "true" zurück, wenn der String den angegebenen Teilstring enthält |
| x.startsWith(y) | String | Gibt "true" zurück, wenn der String mit dem angegebenen Teilstring beginnt. |
| x.endsWith(y) | String | Gibt "true" zurück, wenn der String mit dem angegebenen Teilstring endet. |
| inIpRange(X, Y) | String | Gibt "true" zurück, wenn X eine IP-Adresse und Y ein IP-Bereich ist, der X enthält. Example: inIpRange("1.2.3.1", "1.2.3.0/24") |
| x.containsFieldValue(y) | x: list y: map(string, string) |
Gibt "true" zurück, wenn die Liste ein Objekt mit Feldern enthält, die mit den angegebenen Schlüssel/Wert-Paaren übereinstimmen. Beispiel: dest_gke_details.service.containsFieldValue({'service_name': 'service1', 'service_namespace': 'namespace1'}) |
| has(x) | String | Gibt „true“ zurück, wenn das Feld vorhanden ist. |
App Hub-Labels
Für Google Cloud -Ressourcen, die als App Hub-Arbeitslasten oder -Dienste registriert sind, enthalten Logeinträge anwendungsspezifische Labels. VPC-Flusslogs enthalten diese Labels für Traffic, der mit den folgenden Ressourcen verknüpft ist:
- Von Compute Engine verwaltete Instanzgruppen
- GKE-Pods (Arbeitslasttypen
CRON_JOB,DAEMON_SET,DEPLOYMENTundSTATEFUL_SET) - Cloud Run-Dienste und -Jobs, die mit ausgehendem Direct VPC-Traffic konfiguriert sind
- Weiterleitungsregeln
App Hub-Labels werden gegebenenfalls für maximal eine Quellressource und eine Zielressource pro Logeintrag angehängt. Bei Weiterleitungsregeln bestimmen die Felder CLIENT und BACKEND, ob die Weiterleitungsregel die Quell- oder die Zielressource ist.
App Hub-Labels unterscheiden sich von Metadatenannotationen für VPC-Flusslogs. Die Einstellungen für Metadaten und Logfilterung von VPC-Flusslogs gelten nicht für diese Labels.