VPC-Flusslogs verwenden

In VPC-Flusslogs wird eine Stichprobe von Netzwerkflüssen erfasst, die von VM-Instanzen gesendet und empfangen werden, darunter Instanzen, die als GKE-Knoten verwendet werden. Diese Logs können für Netzwerk-Monitoring, Forensik, Echtzeit-Sicherheitsanalysen und Kostenoptimierung verwendet werden.

Auf dieser Seite wird davon ausgegangen, dass Sie mit den Konzepten vertraut sind, die unter VPC-Flusslogs – Übersicht beschrieben werden.

VPC-Fluss-Logging aktivieren

Wenn Sie VPC-Flusslogs aktivieren, aktivieren Sie diese für alle VMs in einem Subnetz. Sie können jedoch die Menge der in Logging geschriebenen Informationen reduzieren. Ausführliche Informationen zu den Parametern, die Sie festlegen können, finden Sie unter Logprobenahme und Logaggregation.

VPC-Fluss-Logging beim Erstellen eines Subnetzes aktivieren

Console

  1. Rufen Sie in der Google Cloud Console die Seite „VPC-Netzwerke“ auf.
    Zur Seite "VPC-Netzwerke"
  2. Klicken Sie auf das Netzwerk, dem Sie ein Subnetz hinzufügen möchten.
  3. Klicken Sie auf Subnetz hinzufügen.
  4. Wählen Sie unter Flusslogs die Option An aus.
  5. Wenn Sie die Logprobenahme und Logaggregation anpassen möchten, klicken Sie auf Logs konfigurieren und ändern Sie die folgenden Einstellungen wie gewünscht:
    • Aggregationsintervall
    • Ob Sie in den endgültigen Logeinträgen Metadaten einschließen möchten
      Standardmäßig umfasst die Option Metadaten einschließen nur bestimmte Felder. Weitere Informationen finden Sie unter Metadatenfelder anpassen. Zum Anpassen von Metadatenfeldern müssen Sie die gcloud-Befehlszeile oder die API verwenden.
    • Abtastrate (100% bedeutet, dass alle Einträge erhalten bleiben)
  6. Füllen Sie die anderen Felder je nach Bedarf aus.
  7. Klicken Sie auf Hinzufügen.

gcloud

gcloud compute networks subnets create SUBNET_NAME \
    --enable-flow-logs \
    [--logging-aggregation-interval=AGGREGATION_INTERVAL \
    [--logging-flow-sampling=0.0...1.0] \
    [--logging-filter-expr=EXPRESSION] \
    [--logging-metadata=(include-all | exclude-all | custom)] \
    [--logging-metadata-fields=FIELDS] \
    [other flags as needed]

Dabei gilt:

  • --logging-aggregation-interval=AGGREGATION_INTERVAL legt das Aggregationsintervall für Flusslogs in diesem Subnetz fest. Das Intervall kann 5 Sekunden (Standard), 30 Sekunden, 1 Minute, 5 Minuten, 10 Minuten oder 15 Minuten betragen.
  • --logging-flow-sampling ist die Flussabtastrate. Die Flussprobenahme kann auf einen Wert zwischen 0.0 (keine Probenahme) und 1.0 (alle Logs) festgelegt werden. Der Standardwert ist 0.5.
  • --logging-filter-expr=EXPRESSION beschränkt die Logerfassung auf die Logs, die mit dem Ausdruck übereinstimmen. Weitere Informationen finden Sie unter Logfilterung.
  • --logging-metadata=(include-all | exclude-all | custom) aktiviert oder deaktiviert Annotationen von Metadaten in Einträgen oder legt sie auf custom fest. Wenn custom festgelegt ist, geben Sie auch --logging-metadata-fields an. Der Standardwert ist include-all. Hinweis: Bei include-all sind nicht alle Felder enthalten. Weitere Informationen finden Sie unter Metadatenfelder anpassen.
  • --logging-metadata-fields ist eine durch Kommas getrennte Liste von Metadatenfeldern, die Sie in die Logs aufnehmen möchten. Beispiel: --logging-metadata-fields=src_instance,dst_instance. Dies kann nur festgelegt werden, wenn --logging-metadata=custom.

API

Aktivieren Sie VPC-Flusslogs, wenn Sie ein neues Subnetz erstellen.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "logConfig": {
    "aggregationInterval": "AGGREGATION_INTERVAL",
    "flowSampling": SAMPLING_RATE,
    "filterExpr": EXPRESSION,
    "metadata": METADATA_SETTING,
    "metadataFields": METADATA_FIELDS,
    "enable": true
  },
  "ipCidrRange": "IP_RANGE",
  "network": "NETWORK_URL",
  "name": "SUBNET_NAME"
}

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, in dem das Subnetz erstellt wird.
  • REGION ist die Region, in der das Subnetz erstellt wird.
  • AGGREGATION_INTERVAL legt das Aggregationsintervall für Flusslogs im Subnetz fest. Das Intervall kann auf einen der folgenden Werte festgelegt werden: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN oder INTERVAL_15_MIN.
  • SAMPLING_RATE ist die Flussabtastrate. Die Flussprobenahme kann auf einen Wert zwischen 0.0 (keine Probenahme) und 1.0 (alle Logs) festgelegt werden. Der Standardwert ist .0.5.
  • EXPRESSION ist der Filterausdruck, mit dem Sie filtern, welche Logs tatsächlich geschrieben werden. Weitere Informationen finden Sie unter Logfilterung.
  • METADATA_SETTING gibt an, ob das Log alle Metadaten (INCLUDE_ALL_METADATA), keine Metadaten (EXCLUDE_ALL_METADATA) oder nur bestimmte Metadaten (CUSTOM_METADATA) enthalten soll. Wenn dieses Feld auf CUSTOM_METADATA gesetzt ist, füllen Sie auch das Feld metadataFields aus. Bei INCLUDE_ALL_METADATA sind nicht alle Felder enthalten. Weitere Informationen finden Sie unter Metadatenfelder anpassen.
  • METADATA_FIELDS sind die Metadatenfelder, die Sie erfassen möchten, wenn Sie metadata: CUSTOM_METADATA festgelegt haben. Dies ist eine durch Kommas getrennte Liste von Metadatenfeldern, z. B. src_instance, src_vpc.project_id.
  • IP_RANGE ist der primäre interne IP-Adressbereich des Subnetzes.
  • NETWORK_URL ist die URL des VPC-Netzwerks, in dem das Subnetz erstellt wird.
  • SUBNET_NAME ist der Name für das Subnetz.

Weitere Informationen finden Sie in der Methode subnetworks.insert.

VPC-Fluss-Logging für ein Subnetz aktivieren

Console

  1. Rufen Sie in der Google Cloud Console die Seite „VPC-Netzwerke“ auf.
    Zur Seite "VPC-Netzwerke"
  2. Klicken Sie auf das Subnetz, das Sie aktualisieren möchten.
  3. Klicken Sie auf Bearbeiten.
  4. Wählen Sie unter Flusslogs die Option An aus.
  5. Wenn Sie die Logprobenahme und Logaggregation anpassen möchten, klicken Sie auf Logs konfigurieren und ändern Sie die folgenden Einstellungen wie gewünscht:
    • Aggregationsintervall
    • Ob Sie in den endgültigen Logeinträgen Metadaten einschließen möchten
      Standardmäßig umfasst die Option Metadaten einschließen nur bestimmte Felder. Weitere Informationen finden Sie unter Metadatenfelder anpassen. Zum Anpassen von Metadatenfeldern müssen Sie die gcloud-Befehlszeile oder die API verwenden.
    • Abtastrate (100% bedeutet, dass alle Einträge erhalten bleiben)
  6. Klicken Sie auf Speichern.

gcloud

gcloud compute networks subnets update SUBNET_NAME \
    --enable-flow-logs \
    [--logging-aggregation-interval=AGGREGATION_INTERVAL] \
    [--logging-flow-sampling=0.0...1.0] \
    [--logging-filter-expr=EXPRESSION] \
    [--logging-metadata=(include-all | exclude-all | custom)] \
    [--logging-metadata-fields=FIELDS]

Dabei gilt:

  • --logging-aggregation-interval=AGGREGATION_INTERVAL legt das Aggregationsintervall für Flusslogs in diesem Subnetz fest. Das Intervall kann 5 Sekunden (Standard), 30 Sekunden, 1 Minute, 5 Minuten, 10 Minuten oder 15 Minuten betragen.
  • --logging-flow-sampling ist die Flussabtastrate. Die Flussprobenahme kann auf einen Wert zwischen 0.0 (keine Probenahme) und 1.0 (alle Logs) festgelegt werden. Der Standardwert ist .0.5.
  • --logging-filter-expr=EXPRESSION beschränkt die Logerfassung auf die Logs, die mit dem Ausdruck übereinstimmen. Weitere Informationen finden Sie unter Logfilterung.
  • --logging-metadata=(include-all | exclude-all | custom) aktiviert oder deaktiviert Annotationen von Metadaten in Einträgen oder legt sie auf custom fest. Wenn custom festgelegt ist, geben Sie auch --logging-metadata-fields an. Die Standardeinstellung ist "Ein". Hinweis: include-all enthält keine GKE-Annotationen. Wählen Sie custom aus und geben Sie diese Annotationen an, um GKE-Annotationen aufzurufen.
  • --logging-metadata-fields ist eine durch Kommas getrennte Liste von Metadatenfeldern, die Sie in die Logs aufnehmen möchten. Beispiel: --logging-metadata-fields=src_instance,dst_instance. Dies kann nur festgelegt werden, wenn --logging-metadata=custom.

API

Aktivieren Sie VPC-Flusslogs für ein vorhandenes Subnetz.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
{
  "logConfig": {
    "enable": true
    ...other logging fields.
  },
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, in dem sich das Subnetz befindet.
  • REGION ist die Region, in der sich das Subnetz befindet.
  • SUBNET_NAME ist der Name des vorhandenen Subnetzes.
  • SUBNET_FINGERPRINT ist die Fingerabdruck-ID für das bestehende Subnetz, die Sie beim Beschreiben des Subnetzes erhalten.
  • Informationen zu den anderen Logging-Feldern finden Sie unter VPC-Flusslogs beim Erstellen eines Subnetzes aktivieren.

Weitere Informationen finden Sie in der Methode subnetworks.patch.

Geschätztes Logvolumen für vorhandene Subnetze ansehen

Die Google Cloud Console bietet eine Schätzung des Logvolumens für vorhandene Subnetze. Diese können Sie nutzen, wenn Sie die ungefähren Kosten für das Aktivieren der Flusslogs ermitteln möchten. Die Schätzung basiert auf Flüssen, die über die letzten 7 Tage in 5-Sekunden-Intervallen für das Subnetz erfasst wurden. Die Größe jedes Logs hängt auch davon ab, ob Sie Metadatenanmerkungen aktivieren.

  1. Rufen Sie in der Google Cloud Console die Seite „VPC-Netzwerke“ auf.
    Zur Seite "VPC-Netzwerke"
  2. Klicken Sie auf das Subnetz, für das Sie die Kosten schätzen möchten.
  3. Klicken Sie auf Bearbeiten.
  4. Wählen Sie unter Flusslogs die Option An aus.
  5. Klicken Sie auf Logs konfigurieren.
  6. Unter Geschätzte Logs pro Tag sehen Sie die Schätzung.
  7. Klicken Sie auf Abbrechen, damit keine Änderungen gespeichert werden.

Ansehen, für welche Subnetze VPC-Flusslogs aktiviert sind

Sie können prüfen, für welche Subnetze in einem Netzwerk VPC-Flusslogs aktiviert sind.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „VPC-Netzwerke“ auf.
    Zur VPC-Netzwerkseite
  2. In der Spalte Flusslogs sehen Sie, ob das Logging aktiviert oder deaktiviert ist.

gcloud

gcloud compute networks subnets list \
    --project PROJECT_ID \
    --filter="network=NETWORK_URL" \
    --format="csv(name,logConfig.enable)"

Dabei gilt:

  • PROJECT_ID ist die ID des von Ihnen abgefragten Projekts.
  • NETWORK_URL ist der FQDN des Netzwerks, das die Subnetze enthält.

VPC-Fluss-Logging-Parameter aktualisieren

Sie können die Log-Sampling-Parameter anpassen. Ausführliche Informationen zu den Parametern, die Sie festlegen können, finden Sie unter Logprobenahme und Logaggregation.

Console

  1. Rufen Sie in der Google Cloud Console die Seite „VPC-Netzwerke“ auf.
    Zur Seite "VPC-Netzwerke"
  2. Klicken Sie auf das Subnetz, das Sie aktualisieren möchten.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie auf Logs konfigurieren, um die Logprobenahme und Logaggregation anzupassen:
    • Aggregationsintervall
    • Ob Sie in den endgültigen Logeinträgen Metadaten einschließen möchten
      Standardmäßig umfasst die Option Metadaten einschließen nur bestimmte Felder. Weitere Informationen finden Sie unter Metadatenfelder anpassen. Zum Anpassen von Metadatenfeldern müssen Sie die gcloud-Befehlszeile oder die API verwenden.
    • Abtastrate (100% bedeutet, dass alle Einträge erhalten bleiben)
  5. Klicken Sie auf Speichern.

gcloud

gcloud compute networks subnets update SUBNET_NAME \
    [--logging-aggregation-interval=AGGREGATION_INTERVAL] \
    [--logging-flow-sampling=0.0...1.0] \
    [--logging-filter-expr=EXPRESSION] \
    [--logging-metadata=(include-all | exclude-all | custom)] \
    [--logging-metadata-fields=FIELDS]

Dabei gilt:

  • --logging-aggregation-interval=AGGREGATION_INTERVAL legt das Aggregationsintervall für Flusslogs in diesem Subnetz fest. Das Intervall kann 5 Sekunden (Standard), 30 Sekunden, 1 Minute, 5 Minuten, 10 Minuten oder 15 Minuten betragen.
  • --logging-flow-sampling ist die Flussabtastrate. Die Flussprobenahme kann auf einen Wert zwischen 0.0 (keine Probenahme) und 1.0 (alle Logs) festgelegt werden. Der Standardwert ist .0.5.
  • --logging-filter-expr=EXPRESSION beschränkt die Logerfassung auf die Logs, die mit dem Ausdruck übereinstimmen. Weitere Informationen finden Sie unter Logfilterung.
  • --logging-metadata=(include-all | exclude-all | custom) aktiviert oder deaktiviert Annotationen von Metadaten in Einträgen oder legt sie auf custom fest. Wenn custom festgelegt ist, geben Sie auch --logging-metadata-fields an. Die Standardeinstellung ist "Ein". Hinweis: include-all enthält keine GKE-Annotationen. Wählen Sie custom aus und geben Sie diese Annotationen an, um GKE-Annotationen aufzurufen.
  • --logging-metadata-fields ist eine durch Kommas getrennte Liste von Metadatenfeldern, die Sie in die Logs aufnehmen möchten. Beispiel: --logging-metadata-fields=src_instance,dst_instance. Dies kann nur festgelegt werden, wenn --logging-metadata=custom.

API

Ändern Sie die Log-Sampling-Felder, um das Verhalten der VPC-Flusslogs zu aktualisieren.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
{
  "logConfig": {
    ...fields to modify
  },
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, in dem sich das Subnetz befindet.
  • REGION ist die Region, in der sich das Subnetz befindet.
  • SUBNET_NAME ist der Name des vorhandenen Subnetzes.
  • SUBNET_FINGERPRINT ist die Fingerabdruck-ID für das bestehende Subnetz, die Sie beim Beschreiben des Subnetzes erhalten.
  • Informationen zu den Feldern, die Sie ändern können, finden Sie unter VPC-Flusslogs beim Erstellen eines Subnetzes aktivieren.

Weitere Informationen finden Sie in der Methode subnetworks.patch.

VPC-Flusslogs für ein Subnetz deaktivieren

Console

  1. Rufen Sie in der Google Cloud Console die Seite „VPC-Netzwerke“ auf.
    Zur Seite "VPC-Netzwerke"
  2. Klicken Sie auf das Subnetz, das Sie aktualisieren möchten.
  3. Klicken Sie auf Bearbeiten.
  4. Wählen Sie unter Flusslogs die Option Aus.
  5. Klicken Sie auf Speichern.

gcloud

gcloud compute networks subnets update SUBNET_NAME \
    --no-enable-flow-logs

API

Deaktivieren Sie VPC-Flusslogs für ein Subnetz, um die Erfassung von Logdatensätzen zu beenden.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
{
  "logConfig": {
    "enable": false
  },
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PROJECT_ID ist die ID des Projekts, in dem sich das Subnetz befindet.
  • REGION ist die Region, in der sich das Subnetz befindet.
  • SUBNET_NAME ist der Name des vorhandenen Subnetzes.
  • SUBNET_FINGERPRINT ist die Fingerabdruck-ID für das bestehende Subnetz, die Sie beim Beschreiben des Subnetzes erhalten.

Weitere Informationen finden Sie in der Methode subnetworks.patch.

Auf Logs über Logging zugreifen

IAM konfigurieren

Gehen Sie nach der Anleitung zur Zugriffssteuerung für Logging vor.

Zeigen Sie Logs mithilfe der Seite "Logs ansehen" an.

Sie benötigen die Projekt-ID Ihres Projekts für diese Befehle.

Auf alle Flusslogs zugreifen

  1. Rufen Sie in der Google Cloud Console die Seite "Logs" auf.
    Zur Seite "Logs"
  2. Wählen Sie im ersten Drop-down-Menü die Option Subnetzwerk aus.
  3. Wählen Sie im zweiten Drop-down-Menü die Option compute.googleapis.com/vpc_flows aus.
  4. Klicken Sie auf OK.

Alternativ:

  1. Rufen Sie in der Google Cloud Console die Seite "Logs" auf.
    Zur Seite "Logs"
  2. Klicken Sie auf den Drop-down-Pfeil rechts neben dem Feld Nach Label oder Textsuche filtern und wählen Sie In erweiterten Filter umwandeln aus.
  3. Fügen Sie Folgendes in das Feld ein. Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    
  4. Klicken Sie auf Filter senden.

Logs für ein bestimmtes Subnetz aufrufen

  1. Rufen Sie in der Google Cloud Console die Seite "Logs" auf.
    Zur Seite "Logs"
  2. Bewegen Sie den Cursor im ersten Drop-down-Menü auf Subnetzwerk und bewegen Sie ihn dann nach rechts, um das Auswahlmenü für die einzelnen Subnetze zu öffnen.
  3. Wählen Sie im zweiten Drop-down-Menü compute.googleapis.com/vpc_flows aus.
  4. Klicken Sie auf OK.

Alternativ:

  1. Rufen Sie in der Google Cloud Console die Seite "Logs" auf.
    Zur Seite "Logs"
  2. Klicken Sie auf den Drop-down-Pfeil rechts neben dem Feld Nach Label oder Textsuche filtern und wählen Sie In erweiterten Filter umwandeln aus.
  3. Fügen Sie Folgendes in das Feld ein. Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID und SUBNET_NAME durch Ihr Subnetzwerk.
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    resource.labels.subnetwork_name="SUBNET_NAME"
    
  4. Klicken Sie auf Submit filter (Filter senden).

Auf Logs für eine bestimmte VM zugreifen

  1. Rufen Sie in der Google Cloud Console die Seite "Logs" auf.
    Zur Seite "Logs"
  2. Klicken Sie auf den Drop-down-Pfeil rechts neben dem Feld Nach Label oder Textsuche filtern und wählen Sie In erweiterten Filter umwandeln aus.
  3. Fügen Sie Folgendes in das Feld ein. Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID und VM_NAME durch Ihre VM.
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.src_instance.vm_name="VM_NAME"
    
  4. Klicken Sie auf Filter senden.

Auf Logs für Traffic zu einem bestimmten Subnetzbereich zugreifen

  1. Rufen Sie in der Google Cloud Console die Seite "Logs" auf.
    Zur Seite "Logs"
  2. Klicken Sie auf den Drop-down-Pfeil rechts neben dem Feld Nach Label oder Textsuche filtern und wählen Sie In erweiterten Filter umwandeln aus.
  3. Fügen Sie Folgendes in das Feld ein. Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID und SUBNET_RANGE durch einen CIDR-Bereich (192.168.1.0/24).
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    ip_in_net(jsonPayload.connection.dest_ip, SUBNET_RANGE)
    
  4. Klicken Sie auf Submit filter (Filter senden).

Auf Logs für einen bestimmten GKE-Cluster zugreifen

  1. Rufen Sie in der Google Cloud Console die Seite "Logs" auf.
    Zur Seite "Logs"
  2. Klicken Sie auf den Drop-down-Pfeil rechts neben dem Feld Nach Label oder Textsuche filtern und wählen Sie In erweiterten Filter umwandeln aus.
  3. Fügen Sie Folgendes in das Feld ein. Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID und SUBNET_NAME durch Ihr Subnetzwerk.
    resource.type="gce_subnetwork"
    logName="projects/{#project_id}/logs/vpc_flows"
    jsonPayload.src_gke_details.cluster.cluster_name="{#cluster_name}" OR jsonPayload.dest_gke_details.cluster.cluster_name="{#cluster_name}"
    
  4. Klicken Sie auf Submit filter (Filter senden).

Auf Logs für bestimmte Ports und Protokolle zugreifen

Für einen einzelnen Zielport

  1. Rufen Sie in der Google Cloud Console die Seite "Logs" auf.
    Zur Seite "Logs"
  2. Klicken Sie auf den Drop-down-Pfeil rechts neben dem Feld Nach Label oder Textsuche filtern und wählen Sie In erweiterten Filter umwandeln aus.
  3. Fügen Sie Folgendes in das Feld ein. Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID, PORT durch den Zielport und PROTOCOL durch das Protokoll.
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.connection.dest_port=PORT
    jsonPayload.connection.protocol=PROTOCOL
    
  4. Klicken Sie auf Submit filter (Filter senden).

Für mehrere Zielports

  1. Rufen Sie in der Google Cloud Console die Seite "Logs" auf.
    Zur Seite "Logs"
  2. Klicken Sie auf den Drop-down-Pfeil rechts neben dem Feld Nach Label oder Textsuche filtern und wählen Sie In erweiterten Filter umwandeln aus.
  3. Fügen Sie Folgendes in das Feld ein. Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID, PORT1, PORT2 durch die Zielports und PROTOCOL durch das Protokoll.
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.connection.dest_port=(PORT1 OR PORT2)
    jsonPayload.connection.protocol=PROTOCOL
    
  4. Klicken Sie auf Filter senden.

Logs nach BigQuery, Pub/Sub und zu benutzerdefinierten Zielen exportieren

Sie können Flusslogs von Logging an ein Ziel Ihrer Wahl exportieren, wie in der Dokumentation zu Logging beschrieben. Beispiele für Filter finden Sie im vorherigen Abschnitt.

Fehlerbehebung

In Logging werden unter der Ressource gce_subnetwork keine vpc_flows angezeigt

  • Prüfen Sie, ob das Logging für das jeweilige Subnetz aktiviert ist.
  • VPC-Datenflüsse werden nur für VPC-Netzwerke unterstützt. Wenn Sie ein Legacy-Netzwerk haben, werden keine Logs angezeigt.
  • In freigegebenen VPC-Netzwerken werden Logs ausschließlich im Hostprojekt, aber nicht in den Dienstprojekten angezeigt. Achten Sie daher darauf, dass Sie im Hostprojekt nach den Logs suchen.
  • Ausschlussfilter in Logging sperren bestimmte Logs. Achten Sie darauf, dass keine Ausschlussregeln vorhanden sind, die VPC-Flusslogs verwerfen.
    1. Gehen Sie zu Ressourcennutzung.
    2. Klicken Sie auf den Tab Ausnahmen.
    3. Achten Sie darauf, dass keine Ausschlussregeln vorhanden sind, die VPC-Flusslogs verwerfen könnten.

Keine RTT- oder Bytewerte für manche Logs

  • RTT-Messungen können fehlen, wenn nicht genügend Pakete zur Erfassung von RTT abgetastet wurden. Dies tritt eher bei Verbindungen mit geringem Volumen auf.
  • Für UDP-Flüsse sind keine RTT-Werte verfügbar.
  • Einige Pakete werden ohne Nutzlast gesendet. Wenn Nur-Header-Pakete abgetastet wurden, ist der Bytewert 0.

Einige Datenflüsse fehlen

  • Nur UDP- und TCP-Protokolle werden unterstützt. VPC-Flusslogs unterstützen keine anderen Protokolle.
  • Es werden Logstichproben erstellt. Einige Pakete in Datenflüssen mit sehr geringem Volumen werden unter Umständen nicht erfasst.

Fehlende GKE-Annotationen in einigen Logs

Weitere Informationen zu GKE-Annotationen finden Sie unter GKE-Annotationen.

  • Achten Sie darauf, dass im Cluster Google Kubernetes Engine Monitoring aktiviert ist. In einigen Fällen fehlen möglicherweise Annotationen, wenn GKE Monitoring nicht aktiviert ist. Folgen Sie der Anleitung, um zu prüfen, ob GKE Monitoring im Cluster aktiviert ist.
  • Wenn GKE Monitoring im Cluster aktiviert ist und weiterhin GKE-Annotationen fehlen, können Sie prüfen, ob der Agent, der die Metadatenaktualisierungen an Monitoring sendet, ordnungsgemäß arbeitet. Öffnen Sie dazu in der Cloud Console das Dashboard der Monitoring API für Ihr Projekt. In einigen Fällen können Fehler auftreten, wenn das Kontingent für die API überschritten wird. Öffnen Sie das Dashboard Kontingente der API und prüfen Sie, ob das Kontingent überschritten wurde. Wenn Fehler aufgrund von Kontingentüberschreitungen auftreten, folgen Sie der Anleitung unter Kontingente verwalten, um eine Kontingenterhöhung anzufordern.

Fehlende Logs für einige GKE-Abläufe

Prüfen Sie, ob im Knoten knoteninterne Sichtbarkeit aktiviert ist. Andernfalls wird der Traffic zwischen Pods auf demselben Knoten nicht protokolliert.

Flusslogs sind scheinbar deaktiviert, obwohl sie aktiviert wurden

  • Wenn Sie ein Nur-Proxysubnetz für interne HTTP(S)-Load-Balancer konfigurieren und den Befehl gcloud compute networks subnets verwenden, um VPC-Flusslogs zu aktivieren, scheint der Befehl erfolgreich zu sein, obwohl die Flusslogs eigentlich nicht aktiviert sind. Das Flag --enable-flow-logs wird nicht wirksam, wenn Sie auch das Flag --purpose=INTERNAL_HTTPS_LOAD_BALANCER einfügen.

    Wenn Sie Flusslogs über die Cloud Console oder die API aktivieren, wird folgende Fehlermeldung angezeigt: "Ungültiger Wert für Feld 'resource.enableFlowLogs': 'true' Ungültiges Feld mit dem Zweck INTERNAL_HTTPS_LOAD_BALANCER im Subnetzwerk festgelegt."

    Da Nur-Proxysubnetze keine VMs haben, werden VPC-Flusslogs nicht unterstützt. Dieses Verhalten ist also beabsichtigt.

Preise

Es gelten die Standardpreise für Logging, BigQuery oder Pub/Sub. Die Preisgestaltung für VPC-Flusslogs wird unter Netzwerktelemetrie-Preise beschrieben.

Weitere Informationen