

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.

# Beispielabfragen
<a name="CWL_QuerySyntax-examples"></a>

Dieser Abschnitt enthält eine Liste allgemeiner und nützlicher Abfragebefehle, die Sie in der [CloudWatchKonsole](https://console.aws.amazon.com/cloudwatch/) ausführen können. Informationen zur Ausführung eines Abfragebefehls finden Sie unter [Tutorial: Eine Beispielabfrage ausführen und ändern](https://docs.aws.amazon.com/en_us/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_RunSampleQuery.html) im *Amazon CloudWatch Logs-Benutzerhandbuch*.

Weitere Informationen zur Abfragesyntax finden Sie unter[CloudWatch Abfragesyntax in Logs Insights](CWL_QuerySyntax.md).

**Topics**
+ [Allgemeine Abfragen](#CWL_QuerySyntax-examples-general)
+ [Abfragen für Lambda-Protokolle](#CWL_QuerySyntax-examples-Lambda)
+ [Abfragen für Flussprotokolle von Amazon-VPC](#CWL_QuerySyntax-examples-VPC)
+ [Abfragen für Route-53-Protokolle](#CWL_QuerySyntax-examples-Route53)
+ [Abfragen für CloudTrail Protokolle](#CWL_QuerySyntax-examples-CloudTrail)
+ [Abfragen für Amazon API Gateway](#CWL_QuerySyntax-examples-APIGateway)
+ [Abfragen für NAT-Gateway](#CWL_QuerySyntax-examples-NATGateway)
+ [Abfragen für Apache-Serverprotokolle](#CWL_QuerySyntax-examples-Apache)
+ [Anfragen für Amazon EventBridge](#CWL_QuerySyntax-examples-EventBridge)
+ [Beispiele des parse-Befehls](#CWL_QuerySyntax-examples-parse)

## Allgemeine Abfragen
<a name="CWL_QuerySyntax-examples-general"></a>

**Findet die 25 zuletzt hinzugefügten Protokollereignisse.**

```
fields @timestamp, @message | sort @timestamp desc | limit 25
```

**Ruft eine Liste der Anzahl der Ausnahmen pro Stunde ab.** 

```
filter @message like /Exception/ 
    | stats count(*) as exceptionCount by bin(1h)
    | sort exceptionCount desc
```

**Ruft eine Liste von Protokollereignissen ab, die keine Ausnahmen sind.** 

```
fields @message | filter @message not like /Exception/
```

**Ruft das letzte Protokollereignis für jeden eindeutigen Wert des Felds `server` ab.** 

```
fields @timestamp, server, severity, message 
| sort @timestamp asc 
| dedup server
```

**Ruft das letzte Protokollereignis für jeden eindeutigen Wert des Felds `server` für jeden `severity`-Typ ab.** 

```
fields @timestamp, server, severity, message 
| sort @timestamp desc 
| dedup server, severity
```

## Abfragen für Lambda-Protokolle
<a name="CWL_QuerySyntax-examples-Lambda"></a>

**Ermittelt die Menge des zu viel bereitgestellten Speichers.**

```
filter @type = "REPORT"
    | stats max(@memorySize / 1000 / 1000) as provisonedMemoryMB,
        min(@maxMemoryUsed / 1000 / 1000) as smallestMemoryRequestMB,
        avg(@maxMemoryUsed / 1000 / 1000) as avgMemoryUsedMB,
        max(@maxMemoryUsed / 1000 / 1000) as maxMemoryUsedMB,
        provisonedMemoryMB - maxMemoryUsedMB as overProvisionedMB
```

**Erstellt einen Latenzbericht.**

```
filter @type = "REPORT" |
    stats avg(@duration), max(@duration), min(@duration) by bin(5m)
```

**Sucht nach langsamen Funktionsaufrufen und beseitigt doppelte Anfragen, die durch Wiederholungen oder clientseitigen Code entstehen können. In dieser Abfrage  ist `@duration` in Millisekunden.**

```
fields @timestamp, @requestId, @message, @logStream 
| filter @type = "REPORT" and @duration > 1000
| sort @timestamp desc
| dedup @requestId 
| limit 20
```

## Abfragen für Flussprotokolle von Amazon-VPC
<a name="CWL_QuerySyntax-examples-VPC"></a>

**Findet die Top 15 Paketübertragungen zwischen den Hosts:**

```
stats sum(packets) as packetsTransferred by srcAddr, dstAddr
    | sort packetsTransferred  desc
    | limit 15
```

**Findet die Top 15 Byte-Übertragungen für Hosts in einem bestimmten Subnetz.**

```
filter isIpv4InSubnet(srcAddr, "192.0.2.0/24")
    | stats sum(bytes) as bytesTransferred by dstAddr
    | sort bytesTransferred desc
    | limit 15
```

**Findet die IP-Adressen, die UDP als Datenübertragungsprotokoll verwenden.**

```
filter protocol=17 | stats count(*) by srcAddr
```

**Findet die IP-Adressen, bei denen während des Erfassungsfensters Flussdatensätze übersprungen wurden.**

```
filter logStatus="SKIPDATA"
    | stats count(*) by bin(1h) as t
    | sort t
```

**Sucht einen einzelnen Datensatz für jede Verbindung, um Probleme mit der Netzwerkverbindung zu beheben.**

```
fields @timestamp, srcAddr, dstAddr, srcPort, dstPort, protocol, bytes 
| filter logStream = 'vpc-flow-logs' and interfaceId = 'eni-0123456789abcdef0' 
| sort @timestamp desc 
| dedup srcAddr, dstAddr, srcPort, dstPort, protocol 
| limit 20
```

## Abfragen für Route-53-Protokolle
<a name="CWL_QuerySyntax-examples-Route53"></a>

**Findet die Verteilung der Datensätze pro Stunde nach Abfragetyp.**

```
stats count(*) by queryType, bin(1h)
```

**Findet die 10 DNS-Resolver mit der höchsten Anzahl von Anforderungen.**

```
stats count(*) as numRequests by resolverIp
    | sort numRequests desc
    | limit 10
```

**Ermittelt die Anzahl der Datensätze nach Domain und Subdomain, bei denen der Server die DNS-Anforderung nicht abgeschlossen hat.**

```
filter responseCode="SERVFAIL" | stats count(*) by queryName
```

## Abfragen für CloudTrail Protokolle
<a name="CWL_QuerySyntax-examples-CloudTrail"></a>

**Ermitteln Sie die Anzahl der Protokolleinträge für jeden Dienst, Ereignistyp und AWS Region.**

```
stats count(*) by eventSource, eventName, awsRegion
```

**Finden Sie die Amazon EC2 EC2-Hosts, die in einer bestimmten AWS Region gestartet oder gestoppt wurden.**

```
filter (eventName="StartInstances" or eventName="StopInstances") and awsRegion="us-east-2"
```

**Finden Sie die AWS Regionen, Benutzernamen und ARNs neu erstellten IAM-Benutzer.**

```
filter eventName="CreateUser"
    | fields awsRegion, requestParameters.userName, responseElements.user.arn
```

**Ermittelt die Anzahl der Datensätze, bei denen beim Aufruf des API-`UpdateTrail` eine Ausnahme aufgetreten ist.**

```
filter eventName="UpdateTrail" and ispresent(errorCode)
    | stats count(*) by errorCode, errorMessage
```

**Findet Protokolleinträge, in denen TLS 1.0 oder 1.1 verwendet wurde.**

```
filter tlsDetails.tlsVersion in [ "TLSv1", "TLSv1.1" ]
| stats count(*) as numOutdatedTlsCalls by userIdentity.accountId, recipientAccountId, eventSource, eventName, awsRegion, tlsDetails.tlsVersion, tlsDetails.cipherSuite, userAgent
| sort eventSource, eventName, awsRegion, tlsDetails.tlsVersion
```

**Ermittelt die Anzahl der Anrufe pro Service, die die TLS-Versionen 1.0 oder 1.1 verwendet haben.**

```
filter tlsDetails.tlsVersion in [ "TLSv1", "TLSv1.1" ]
| stats count(*) as numOutdatedTlsCalls by eventSource
| sort numOutdatedTlsCalls desc
```

## Abfragen für Amazon API Gateway
<a name="CWL_QuerySyntax-examples-APIGateway"></a>

Findet die letzten 10 4XX-Fehler.

```
fields @timestamp, status, ip, path, httpMethod
| filter status>=400 and status<=499
| sort @timestamp desc
| limit 10
```

Identifizieren Sie die 10 am längsten laufenden Amazon API Gateway Anfragen in Ihrer Amazon API Gateway Zugriffs-Log-Gruppe

```
fields @timestamp, status, ip, path, httpMethod, responseLatency
| sort responseLatency desc
| limit 10
```

Gibt die Liste der beliebtesten API-Pfade in Ihrer Amazon API Gateway -Zugriffsprotokollgruppe zurück.

```
stats count(*) as requestCount by path
| sort requestCount desc
| limit 10
```

Erstellt einen Integrationslatenzbericht für Ihre Amazon API Gateway -Zugriffsprotokollgruppe.

```
filter status=200
| stats avg(integrationLatency), max(integrationLatency), 
min(integrationLatency) by bin(1m)
```

## Abfragen für NAT-Gateway
<a name="CWL_QuerySyntax-examples-NATGateway"></a>

Wenn Sie feststellen, dass Ihre AWS Rechnung höhere als normale Kosten enthält, können Sie CloudWatch Logs Insights verwenden, um die wichtigsten Mitwirkenden zu finden. Weitere Informationen zu den folgenden Abfragebefehlen finden Sie unter [Wie finde ich die Hauptverursacher des Datenverkehrs über das NAT-Gateway in meiner VPC?](https://aws.amazon.com/premiumsupport/knowledge-center/vpc-find-traffic-sources-nat-gateway/) auf der AWS Premium-Support-Seite.

**Anmerkung**  
Ersetzen Sie in den folgenden Abfragebefehlen „x.x.x.x“ durch die private IP Ihres NAT-Gateways und ersetzen Sie „y.y“ durch die ersten beiden Oktette Ihres VPC-CIDR-Bereichs.

**Findet die Instances, die den meisten Datenverkehr über Ihr NAT-Gateway senden.**

```
filter (dstAddr like 'x.x.x.x' and srcAddr like 'y.y.') 
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr
| sort bytesTransferred desc
| limit 10
```

**Bestimmt den Datenverkehr, der bei den Instances in Ihren NAT-Gateways ein- bzw. ausgeht.**

```
filter (dstAddr like 'x.x.x.x' and srcAddr like 'y.y.') or (srcAddr like 'xxx.xx.xx.xx' and dstAddr like 'y.y.')
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr
| sort bytesTransferred desc
| limit 10
```

**Bestimmt die Internetziele, mit denen die Instances in Ihrer VPC am häufigsten für Uploads und Downloads kommunizieren.**

*****For uploads***** (Für Uploads)

```
filter (srcAddr like 'x.x.x.x' and dstAddr not like 'y.y.') 
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr
| sort bytesTransferred desc
| limit 10
```

*****Für Downloads*****

```
filter (dstAddr like 'x.x.x.x' and srcAddr not like 'y.y.') 
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr
| sort bytesTransferred desc
| limit 10
```

## Abfragen für Apache-Serverprotokolle
<a name="CWL_QuerySyntax-examples-Apache"></a>

Sie können CloudWatch Logs Insights verwenden, um Apache-Serverprotokolle abzufragen. Weitere Informationen zu den folgenden Abfragen finden Sie unter [Simplifying Apache Server Logs with CloudWatch Logs Insights](https://aws.amazon.com/blogs/mt/simplifying-apache-server-logs-with-amazon-cloudwatch-logs-insights/) im AWS Cloud Operations & Migrations Blog.

**Findet die relevantesten Felder, damit Sie Ihre Zugriffsprotokolle und den Datenverkehr im Pfad */admin* Ihrer Anwendung überprüfen können.**

```
fields @timestamp, remoteIP, request, status, filename| sort @timestamp desc
| filter filename="/var/www/html/admin"
| limit 20
```

**Ermittelt die Anzahl der eindeutigen GET-Anforderungen, die auf Ihre Hauptseite mit dem Statuscode „200“ (Erfolg) zugegriffen haben.**

```
fields @timestamp, remoteIP, method, status
| filter status="200" and referrer= http://34.250.27.141/ and method= "GET"
| stats count_distinct(remoteIP) as UniqueVisits
| limit 10
```

**Gibt an, wie oft Ihr Apache-Service neu gestartet wurde.**

```
fields @timestamp, function, process, message
| filter message like "resuming normal operations"
| sort @timestamp desc
| limit 20
```

## Anfragen für Amazon EventBridge
<a name="CWL_QuerySyntax-examples-EventBridge"></a>

Ruft die Anzahl der EventBridge Ereignisse ab, gruppiert nach Art der Ereignisdetails

```
fields @timestamp, @message
| stats count(*) as numberOfEvents by `detail-type`
| sort numberOfEvents desc
```

## Beispiele des parse-Befehls
<a name="CWL_QuerySyntax-examples-parse"></a>

**Verwenden Sie einen globalen Ausdruck zum Extrahieren der Felder `@user`, `@method` und `@latency` aus dem Protokollfeld `@message` und zur Rückgabe der durchschnittlichen Latenz für jede eindeutige Kombination aus `@method` und `@user`.** 

```
parse @message "user=*, method:*, latency := *" as @user,
    @method, @latency | stats avg(@latency) by @method,
    @user
```

**Verwenden Sie einen regulären Ausdruck zum Extrahieren der Felder `@user2`, `@method2` und `@latency2` aus dem Protokollfeld `@message` und zur Rückgabe der durchschnittlichen Latenz für jede eindeutige Kombination aus `@method2` und `@user2`.**

```
parse @message /user=(?<user2>.*?), method:(?<method2>.*?),
    latency := (?<latency2>.*?)/ | stats avg(latency2) by @method2, 
    @user2
```

**Extrahiert die Felder `loggingTime`, `loggingType` und `loggingMessage`, filtert nach Protokollereignissen, die die Zeichenfolgen `ERROR` oder `INFO` enthalten, und zeigt dann nur die Felder `loggingMessage` und `loggingType` für Ereignisse an, die die Zeichenfolge `ERROR` enthalten.**

```
FIELDS @message
    | PARSE @message "* [*] *" as loggingTime, loggingType, loggingMessage
    | FILTER loggingType IN ["ERROR", "INFO"]
    | DISPLAY loggingMessage, loggingType = "ERROR" as isError
```