Direkt zum Inhalt

Wie verwende ich CloudWatch Logs Insights, um meine VPC-Flow-Logs abzufragen?

Lesedauer: 3 Minute
0

Ich möchte Amazon CloudWatch Logs Insights-Abfragen verwenden, um meine Amazon Virtual Private Cloud (Amazon VPC)-Ablaufprotokolle zu verarbeiten, die sich in einer Protokollgruppe befinden.

Lösung

Einen Überblick über die von Ihnen verwendete Syntax finden Sie unter CloudWatch Logs Insights-Sprachabfragesyntax.

Verwendung von Beispielabfragen

Verwenden Sie die CloudWatch-Konsole, um eine CloudWatch Logs Insights-Beispielabfrage auszuführen. Um eine Abfrage auszuführen, die du zuvor ausgeführt hast, wähle Verlauf. Um die Ergebnisse zu exportieren, wähle Ergebnisse exportieren und wähle dann ein Format aus.

Szenario 1

Du hast einen Webserver, einen Anwendungsserver und einen Datenbankserver. Du erhältst einen Timeout- oder HTTP 503-Fehler und möchtest die Ursache des Fehlers ermitteln.

Führe eine Abfrage mit den folgenden Beispielvariablen aus:

  • Setzen Sie ** Action ** auf ** REJECT, ** damit die Abfrage nur abgelehnte Verbindungen zurückgibt.
  • Schließen Sie nur interne Netzwerke in die Abfrage ein.
  • Die Liste der Server-IP-Adressen zeigt sowohl eingehende als auch ausgehende Verbindungen (srcAddr und dstAddr).
  • Setzen Sie das ** Limit ** auf ** 5, ** sodass die Abfrage nur die ersten fünf Einträge anzeigt.
  • Die IP-Adresse des Webservers lautet 10.0.0.4.
  • Die IP-Adresse des App-Servers lautet 10.0.0.5.
  • Die IP-Adresse des Datenbankservers lautet 10.0.0.6.

Beispielabfrage:

filter(   action="REJECT" and
   dstAddr like /^(10\.|192\.168\.)/ and
   srcAddr like /^(10\.|192\.168\.)/ and
   (srcAddr = "10.0.0.4" or dstAddr = "10.0.0.4" or srcAddr = "10.0.0.5" or dstAddr = "10.0.0.5" or srcAddr = "10.0.0.6" or dstAddr = "10.0.0.6")
)
| stats count(*) as records by srcAddr,dstAddr,dstPort,protocol
| sort records desc
| limit 5

Szenario 2

Auf einer Netzwerkschnittstelle treten zeitweise Timeouts auf. Führe die folgende Abfrage aus, um die Netzwerkschnittstelle über einen bestimmten Zeitraum auf Ablehnungen zu überprüfen:

fields @timestamp, interfaceId, srcAddr, dstAddr, action| filter (interfaceId = 'eni-05012345abcd' and action = 'REJECT')
| sort @timestamp desc
| limit 5

Szenario 3

Um einen Bericht über eine bestimmte Netzwerkschnittstelle zu erstellen, führen Sie die folgende Abfrage aus:

fields @timestamp, @message | stats count(*) as records by dstPort, srcAddr, dstAddr as Destination
 | filter interfaceId="eni-05012345abcd"
 | filter dstPort="80" or dstPort="443" or dstPort="22" or dstPort="25"
 | sort HitCount desc
 | limit 10

Die vorhergehende Abfrage überprüft die Menge des Datenverkehrs, der an verschiedene Ports gesendet wird.

Szenario 4

Führen Sie die folgende Abfrage aus, um IP-Adressen aufzulisten, die versuchen, eine Verbindung zu einer bestimmten IP-Adresse herzustellen:

fields @timestamp, srcAddr, dstAddr | sort @timestamp desc
 | limit 5
 | filter srcAddr like "172.31."

Führen Sie die folgende Abfrage aus, um IP-Adressen aufzulisten, die versuchen, eine Verbindung zu einem bestimmten CIDR herzustellen:

fields @timestamp, srcAddr, dstAddr | sort @timestamp desc
 | limit 5
 | filter isIpv4InSubnet(srcAddr,"172.31.0.0/16")

Weitere Beispielabfragen finden Sie unter Abfragen für Amazon VPC-Flow-Logs.

Ähnliche Informationen

Analyse von Protokolldaten mit CloudWatch Logs Insights

Unterstützte Protokolle und entdeckte Felder