

 **Unterstützung für die Verbesserung dieser Seite beitragen** 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link **Diese Seite bearbeiten auf**, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Erfassen Sie den Netzwerkverkehr auf einem verwalteten Knoten mit kubectl und S3
<a name="auto-get-tcpdump"></a>

Erfahren Sie, wie Sie Netzwerkverkehr auf einem von Amazon EKS verwalteten Knoten erfassen, der über den Knotenüberwachungsagenten verfügt. Der Agent führt tcpdump auf dem Knoten aus, komprimiert Capture-Dateien und lädt sie in Ihren S3-Bucket hoch.

## Voraussetzungen
<a name="_prerequisites"></a>

Stellen Sie sicher, dass Sie über Folgendes verfügen:
+ Ein vorhandener Amazon EKS Auto Mode-Cluster mit dem Knotenüberwachungsagenten. Weitere Informationen finden Sie unter [Erkennen Sie Probleme mit dem Knotenstatus und aktivieren Sie die automatische Knotenreparatur](node-health.md).
+ Das Befehlszeilentool `kubectl`, das für die Kommunikation mit Ihrem Cluster installiert und konfiguriert wurde.
+ Die AWS CLI wurde mit ausreichenden Berechtigungen installiert und angemeldet, um S3-Buckets und -Objekte zu erstellen.
+ Eine aktuelle Version von Python 3 ist installiert.
+ Das AWS SDK für Python 3, Boto 3, ist installiert.
+ Die PyYAML-Bibliothek ist installiert ()`pip install pyyaml`.

## Schritt 1: S3-Bucket-Ziel erstellen (optional)
<a name="_step_1_create_s3_bucket_destination_optional"></a>

Wenn Sie noch keinen S3-Bucket zum Speichern der Capture-Dateien haben, erstellen Sie einen. Ersetzen Sie *bucket-name* und *region* durch Ihre Werte.

```
aws s3api create-bucket --bucket <bucket-name> \
    --region <region> \
    --create-bucket-configuration LocationConstraint=<region>
```

**Anmerkung**  
Der `--create-bucket-configuration` Parameter ist für alle Regionen erforderlich, außer`us-east-1`.

## Schritt 2: Starten Sie die Paketerfassung
<a name="_step_2_start_packet_capture"></a>

Verwenden Sie das `start-capture.py` Skript aus dem [Node Monitoring Agent Repository](https://github.com/aws/eks-node-monitoring-agent) (`tools/start-capture.py`), um vorsignierte S3-Anmeldeinformationen zu generieren, die `NodeDiagnostic` Ressource zu erstellen und sie auf Ihren Cluster anzuwenden.

1. Identifizieren Sie den Knoten, von dem Sie Datenverkehr erfassen möchten.

   ```
   kubectl get nodes
   ```

1. Speichern Sie das Skript [start-capture.py](https://github.com/aws/eks-node-monitoring-agent/blob/main/tools/start-capture.py) aus dem Node Monitoring Agent Repository auf Ihrem lokalen Computer und führen Sie es dann aus. Ersetzen Sie *<bucket-name>* und *<node-name>* durch Ihre Werte.

   ```
   python3 start-capture.py --bucket <bucket-name> --node <node-name>
   ```

   Allgemeine Optionen:

   ```
   # Capture for 5 minutes on eth0 with a filter
   python3 start-capture.py --bucket <bucket-name> --node <node-name> \
       --duration 5m --interface eth0 --filter "tcp port 443"
   
   # Preview the YAML without applying
   python3 start-capture.py --bucket <bucket-name> --node <node-name> --dry-run
   ```

   Für das Skript ist Python 3 erforderlich, das für Ihren Cluster `pyyaml` installiert `boto3` und `kubectl` konfiguriert ist.

   Das Skript generiert eine `NodeDiagnostic` Ressource wie die folgende. Dieses Beispiel dient als Referenz. Beachten Sie, dass für die `upload` Felder vorsignierte S3-POST-Anmeldeinformationen erforderlich sind, die vom Skript programmgesteuert generiert werden.

   ```
   apiVersion: eks.amazonaws.com/v1alpha1
   kind: NodeDiagnostic
   metadata:
     name: <node-name>                    # Required: node instance ID
   spec:
     packetCapture:
       duration: "30s"                       # Required: capture duration (max 1h)
       # interface: "eth0"                   # Optional: default is primary ENI. Use "any" for all interfaces
       # filter: "tcp port 443"             # Optional: tcpdump filter expression
       # chunkSizeMB: 10                    # Optional: file rotation size in MB (1-100, default: 10)
       upload:                               # Required: pre-signed S3 POST credentials
         url: "https://<bucket>.s3.amazonaws.com/"
         fields:
           key: "captures/<node-name>/${filename}"
           # ... other pre-signed POST fields (generated by the script)
   ```

## Schritt 3: Überwachen Sie den Fortschritt der Erfassung
<a name="_step_3_monitor_capture_progress"></a>

Überprüfen Sie den Status der Erfassung.

```
kubectl describe nodediagnostic <node-name>
```

Der Status wird wie folgt angezeigt:
+  `Running`während die Erfassung läuft.
+  `Completed`mit Begründung`Success`, wenn die Erfassung abgeschlossen ist und alle Dateien hochgeladen wurden.
+  `Completed`mit Grund`Failure`, falls bei der Erfassung Fehler aufgetreten sind.

Um den vollständigen Status zu sehen, einschließlich `captureID` (wird für die S3-Pfadidentifizierung verwendet):

```
kubectl get nodediagnostic <node-name> -o jsonpath='{.status.captureStatuses}'
```

## Schritt 4: Laden Sie die Capture-Dateien von S3 herunter
<a name="_step_4_download_capture_files_from_s3"></a>

Sobald der Status angezeigt wird`Success`, laden Sie die Capture-Dateien von S3 herunter.

```
aws s3 cp s3://<bucket-name>/captures/ ./captures/ --recursive
```

Die Dateien sind im GZIP-komprimierten PCAP-Format. Dekomprimieren und analysieren Sie mit tcpdump oder Wireshark:

```
gunzip captures/*.gz
tcpdump -r captures/capture.pcap0000 -n
```

## Schritt 5: Bereinigen
<a name="_step_5_clean_up"></a>

 `NodeDiagnostic`Ressourcen werden nicht automatisch gelöscht. Bereinigen Sie, nachdem Sie Ihre Capture-Dateien erhalten haben. Wenn Sie die Ressource löschen, während eine Erfassung läuft, wird die Erfassung sofort beendet.

```
kubectl delete nodediagnostic <node-name>
```

## Konfigurationsoptionen und Verhalten
<a name="_configuration_options_and_behavior"></a>

Die vollständige `packetCapture` Spezifikationsreferenz, die Konfigurationsoptionen und Verhaltensdetails finden Sie in der [Dokumentation zur Paketerfassung](https://github.com/aws/eks-node-monitoring-agent/blob/main/docs/packet-capture.adoc) im Node Monitoring Agent Repository.