

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.

# CloudWatch Syntax der Suchausdrücke
<a name="search-expression-syntax"></a>

Ein gültiger Suchausdruck hat das folgende Format.

```
SEARCH(' {Namespace, DimensionName1, DimensionName2, ...} SearchTerm', 'Statistic')
```

Zum Beispiel:

```
SEARCH('{AWS/EC2,InstanceId} MetricName="CPUUtilization"', 'Average')
```
+ Der erste Teil der Abfrage in geschweiften Klammern nach dem Wort `SEARCH` ist das zu durchsuchende *Metrikschema*. Das Metrikschema enthält einen Metrik-Namespace und einen oder mehrere Dimensionsnamen. Die Angabe eines Metrikschemas in einer Suchabfrage ist optional. Wenn das Metrikschema angegeben wird, muss es einen Namespace enthalten und optional einen oder mehrere Dimensionsnamen, die in diesem Namespace gültig sind.

  Sie müssen keine Anführungszeichen innerhalb des Metrikschemas verwenden, es sei denn, Namespace oder Dimensionsname enthalten Leerzeichen oder nicht-alphanumerischen Zeichen. In diesem Fall müssen Sie Namen, die diese Zeichen enthalten, in doppelte Anführungszeichen einschließen.
+ Auch der `SearchTerm` (Suchbegriff) ist optional. Allerdings muss eine gültige Suche entweder das Metrikschema, den `SearchTerm` oder beides enthalten. Das enthält `SearchTerm` normalerweise einen oder mehrere Konten IDs, Metriknamen oder Dimensionswerte. Der `SearchTerm` kann mehrere Suchbegriffe enthalten; sowohl für die teilweise als auch die exakte Übereinstimmung. Er kann auch boolesche Operatoren enthalten. 

  Die Verwendung einer Konto-ID in einem `SearchTerm` funktioniert nur bei Konten, die aus Gründen der CloudWatch kontenübergreifenden Beobachtbarkeit als Überwachungskonten eingerichtet sind. Die Syntax für eine Konto-ID in `SearchTerm` lautet `:aws.AccountId = 444455556666`. Sie können auch `'LOCAL'` verwenden, um das Überwachungskonto selbst anzugeben: `:aws.AccountId = 'LOCAL'`

  Weitere Informationen finden Sie unter [CloudWatch kontenübergreifende Beobachtbarkeit](CloudWatch-Unified-Cross-Account.md).

  Der `SearchTerm` kann eine oder mehrere Regionsangaben enthalten, z. B. `MetricName=` wie in diesem Beispiel; diese Angabe ist jedoch nicht erforderlich.

  Das Metrikschema und der `SearchTerm` müssen gemeinsam in einfache Anführungszeichen gesetzt werden.
+ Das `Statistic` ist der Name jeder gültigen CloudWatch Statistik. Er muss in einfache Anführungszeichen eingeschlossen werden. Weitere Informationen finden Sie unter [Statistiken](cloudwatch_concepts.md#Statistic).

Das obige Beispiel sucht im Namespace `AWS/EC2` nach Metriken, die den Dimensionsnamen `InstanceId` aufweisen. Alle gefundenen `CPUUtilization`-Metriken werden zurückgegeben, wobei das Diagramm die `Average`-Statistik anzeigt. 

Ein Suchausdruck kann nur Metriken finden, die innerhalb der letzten zwei Wochen Daten gemeldet haben.

**Einschränkungen für Suchausdrücke**

Die maximale Länge für Suchausdruckabfragen beträgt 1024 Zeichen. Sie können bis zu 100 Suchausdrücke in einem Diagramm verwenden. Ein Diagramm kann bis zu 500 Zeitreihen darstellen.

## CloudWatch Suchausdrücke: Tokenisierung
<a name="search-expression-syntax-tokenization"></a>

Wenn Sie a angeben`SearchTerm`, sucht die Suchfunktion nach *Tokens*. Dabei handelt es sich um Teilzeichenfolgen, die CloudWatch automatisch aus vollständigen Metriknamen, Dimensionsnamen, Dimensionswerten und Namespaces generiert werden. CloudWatch generiert Token, die sich durch die Groß-/Kleinschreibung in der ursprünglichen Zeichenfolge unterscheiden. Auch Ziffern werden für den Beginn neuer Token verwendet. Nicht alphanumerische Zeichen dienen als Trennzeichen. Die Token werden vor und nach dem nicht alphanumerischen Zeichen erzeugt.

Eine kontinuierliche Zeichenfolge desselben Typs von Token-Trennzeichen führt zu einem Token. 

Alle generierten Token bestehen aus Kleinbuchstaben. Die folgende Tabelle zeigt einige Beispiele für generierte Token.


| Ursprüngliche Zeichenfolge | Erzeugte Token | 
| --- | --- | 
|  CustomCount1  |  `customcount1`, `custom`, `count`, `1`    | 
|  SDBFailure  |  `sdbfailure`, `sdb`, `failure`  | 
|  Project2-trial333  |  `project2trial333`, `project`, `2`, `trial`, `333`  | 

## CloudWatch Suchausdrücke: Teilweise Treffer
<a name="search-expression-partial-match"></a>

Wenn Sie einen `SearchTerm` angeben, wird auch der Suchbegriff in Token aufgegliedert. CloudWatch sucht Metriken auf Grundlage teilweiser Übereinstimmungen. Dabei handelt es sich um Übereinstimmungen eines einzelnen, aus dem Suchbegriff erzeugten Tokens mit einem einzelnen, aus dem Metriknamen, Namespace, Dimensionsnamen oder Dimensionswert erzeugten Token.

Die Suche nach teilweisen Übereinstimmungen mit einem einzelnen Token unterscheidet nicht zwischen Groß- und Kleinschreibung. So finden die folgenden Suchbegriffe die Metrik `CustomCount1`:
+ `count`
+ `Count`
+ `COUNT`

Dagegen findet der Suchbegriff `couNT` nicht die gewünschte Entsprechung `CustomCount1`, da die Groß-/Kleinschreibung im Suchbegriff `couNT` in die Token `cou` und `NT` aufgegliedert wird.

Suchen können auch zusammengesetzte Token finden, also mehrere Token, die im ursprünglichen Namen hintereinander auftreten. Die Suche nach zusammengesetzten Token unterscheidet zwischen Groß- und Kleinschreibung. Beispiel: Wenn der ursprüngliche Begriff `CustomCount1` lautet, wird dieser bei der Suche nach `CustomCount` oder `Count1` gefunden. `customcount` oder `count1` finden den Begriff dagegen nicht.

## CloudWatch Suchausdrücke: Exakte Treffer
<a name="search-expression-exact-match"></a>

Sie können nur nach exakten Übereinstimmungen des Suchbegriffs suchen, indem Sie den Teil des Begriffs, der exakt gefunden werden soll, in doppelte Anführungszeichen setzen. Diese doppelten Anführungszeichen stehen innerhalb der einfachen Anführungszeichen, die den gesamten Suchbegriff umschließen. Zum Beispiel findet **SEARCH(' \$1MyNamespace\$1, "CustomCount1" ', 'Maximum')** die genaue Zeichenfolge `CustomCount1`, sofern diese als Metrikname, Dimensionsname oder Dimensionswert im Namespace `MyNamespace` vorliegt. Dagegen wird die Zeichenfolge mit **SEARCH(' \$1MyNamespace\$1, "customcount1" ', 'Maximum')** oder **SEARCH(' \$1MyNamespace\$1, "Custom" ', 'Maximum')** nicht gefunden.

Sie können teilweise und exakte Übereinstimmung in einem Suchausdruck kombinieren. Beispiel: **SEARCH(' \$1AWS/NetworkELB, LoadBalancer\$1 "ConsumedLCUs" OR flow ', 'Maximum')** gibt die Elastic-Load-Balancing-Metrik mit dem Namen `ConsumedLCUs` sowie alle Elastic-Load-Balancing-Metriken oder -Dimensionen, die das Token `flow` enthalten, zurück. 

Die Suche nach exakten Übereinstimmungen ist eine gute Möglichkeit zur Suche von Namen mit Sonderzeichen (z. B. nicht-alphanumerische Zeichen oder Leerzeichen), wie im folgenden Beispiel gezeigt.

```
SEARCH(' {"My Namespace", "Dimension@Name"}, "Custom:Name[Special_Characters" ', 'Maximum')
```

## CloudWatch Suchausdrücke: Ausgenommen ein Metrikschema
<a name="search-expression-no-schema"></a>

Alle bisherigen Beispiele enthalten ein Metrikschema in geschweiften Klammern. Aber auch Suchen, die kein Metrikschema enthalten, sind gültig.

Beispiel: **SEARCH(' "CPUUtilization" ', 'Average')** gibt alle Metriknamen, Dimensionsnamen, Dimensionswerte und Namespaces zurück, die eine exakte Übereinstimmung mit der Zeichenfolge `CPUUtilization` aufweisen. In den AWS Metrik-Namespaces kann dies Metriken von verschiedenen Diensten umfassen, darunter Amazon EC2, Amazon ECS, SageMaker AI und andere.

Um diese Suche auf nur einen AWS Service zu beschränken, empfiehlt es sich, den Namespace und alle erforderlichen Dimensionen im Metrikschema anzugeben, wie im folgenden Beispiel. Damit wird die Suche zwar auf den Namespace `AWS/EC2` begrenzt, aber es werden weiterhin Ergebnisse für andere Metriken ausgegeben, wenn Sie `CPUUtilization` als Dimensionswert für diese Metriken definiert haben. 

```
SEARCH(' {AWS/EC2, InstanceType} "CPUUtilization" ', 'Average')
```

Alternativ können Sie den Namespace im `SearchTerm` übergeben, wie im folgenden Beispiel gezeigt. Allerdings gibt diese Suche alle Zeichenfolgen mit `AWS/EC2` zurück, auch wenn es sich um einen benutzerdefinierten Dimensionsnamen oder -wert handelt.

```
SEARCH(' "AWS/EC2" MetricName="CPUUtilization" ', 'Average')
```

## CloudWatch Suchausdrücke: Angabe von Eigenschaftsnamen bei der Suche
<a name="search-expression-type-of-search-term"></a>

Die folgende Suche nach einer exakten Übereinstimmung mit `"CustomCount1"` gibt alle Metriken mit genau diesem Namen zurück.

```
SEARCH(' "CustomCount1" ', 'Maximum')
```

Aber sie gibt auch Metriken mit Dimensionsnamen, Dimensionswerten oder Namespaces zurück, die `CustomCount1` enthalten. Zur weiteren Strukturierung der Suche können Sie den Eigenschaftenname für den gesuchten Objekttyp in die Suche einbeziehen. Im folgenden Beispiel werden alle Namespaces nach Metriken mit dem Namen `CustomCount1` durchsucht.

```
SEARCH(' MetricName="CustomCount1" ', 'Maximum')
```

Sie können auch Namespaces und name/value Dimensionspaare als Eigenschaftsnamen verwenden, wie in den folgenden Beispielen. Das erste dieser Beispiele zeigt auch, dass Sie nach Eigenschaftennamen mit teilweisen Übereinstimmungen suchen können.

```
SEARCH(' InstanceType=micro ', 'Average')
```

```
SEARCH(' InstanceType="t2.micro" Namespace="AWS/EC2" ', 'Average')
```

## CloudWatch Suchausdrücke: Nicht-alphanumerische Zeichen
<a name="search-expression-syntax-characters"></a>

Nicht-alphanumerische Zeichen dienen als Trennzeichen und markieren so, wo die Namen von Metriken, Dimensionen, Namespaces und Suchbegriffen in Token aufgegliedert werden. Beim Aufgliedern von Begriffen werden nicht alphanumerische entfernt und nicht in Token übernommen. Beispiel: `Network-Errors_2` generiert die Token `network`, `errors` und `2`. 

Ihr Suchbegriff kann beliebige nicht alphanumerische Zeichen enthalten. Wenn diese Zeichen in Ihrem Suchbegriff enthalten sind, können sie zusammengesetzte Token in teilweisen Übereinstimmungen angeben. Beispiel: Die folgenden Suchen finden Metriken mit dem Namen `Network-Errors-2` oder `NetworkErrors2`. 

```
network/errors
network+errors
network-errors
Network_Errors
```

Wenn Sie einen exakten Wert suchen, müssen alle nicht alphanumerischen Zeichen in der exakten Suche mit den in der gesuchten Zeichenfolge verwendeten Zeichen übereinstimmen. Beispiel: Wenn Sie nach `Network-Errors-2` suchen, führt die Suche nach `"Network-Errors-2"` zum Erfolg, nicht aber die Suche nach `"Network_Errors_2"`.

Wenn Sie eine exakte Übereinstimmung suchen, müssen die folgenden Zeichen durch den umgekehrten Schrägstrich als Escape-Zeichen markiert werden.

```
" \ ( )
```

Um beispielsweise den Metriknamen `Europe\France Traffic(Network)` als exakte Übereinstimmung zu finden, muss der Suchbegriff **"Europe\$1\$1France Traffic\$1(Network\$1)"** lauten.

## CloudWatch Suchausdrücke: Boolesche Operatoren
<a name="search-expression-boolean-operators"></a>

Sie können in der Suche die booleschen Operatoren `AND`, `OR` und `NOT` im `SearchTerm` verwenden. Boolesche Operatoren werden innerhalb der einfachen Anführungszeichen, die den gesamten Suchbegriff einschließen, verwendet. Boolesche Operatoren unterscheiden zwischen Groß- und Kleinschreibung. `and`, `or` und `not` sind somit keine gültigen booleschen Operatoren.

Sie können `AND` explizit in der Suche verwenden, z. B. **SEARCH('\$1AWS/EC2,InstanceId\$1 network AND packets', 'Average')**. Wenn Sie keinen booleschen Operator zwischen Suchbegriffen angeben, wird implizit der Operator `AND` verwendet. **SEARCH(' \$1AWS/EC2,InstanceId\$1 network packets ', 'Average')** führt also zum selben Ergebnis.

Mit `NOT` können Sie Datenteilmengen aus den Ergebnissen ausschließen. Beispiel: **SEARCH(' \$1AWS/EC2,InstanceId\$1 MetricName="CPUUtilization" NOT i-1234567890123456 ', 'Average')** gibt die `CPUUtilization` für alle Instances mit Ausnahme der Instance `i-1234567890123456` aus. Sie können auch einen `NOT`-Ausdruck als einzigen Suchbegriff verwenden. Beispiel: **SEARCH( 'NOT Namespace=AWS ', 'Maximum')** gibt alle benutzerdefinierten Metriken aus (Metriken mit Namespaces, in denen `AWS` nicht vorkommt).

Sie können mehrere `NOT`-Ausdrücke in einer Abfrage verwenden. Beispiel: **SEARCH(' \$1AWS/EC2,InstanceId\$1 MetricName="CPUUtilization" NOT "ProjectA" NOT "ProjectB" ', 'Average')** gibt die `CPUUtilization` aller Instances in der Region mit Ausnahme der Instances aus, die einen Dimensionswert von `ProjectA` oder `ProjectB` enthalten.

Sie können die booleschen Operatoren kombinieren, um weitere leistungsstarke und detaillierte Suchen zu erstellen (vgl. die folgenden Beispiele). Verwenden Sie Klammern zum Gruppieren der Operatoren.

Die beiden nächsten Beispiele geben alle Metriknamen mit der Zeichenfolge `ReadOps` aus den Namespaces EC2 und EBS aus.

```
SEARCH(' (EC2 OR EBS) AND MetricName=ReadOps ', 'Maximum')
```

```
SEARCH(' (EC2 OR EBS) MetricName=ReadOps ', 'Maximum')
```

Im folgenden Beispiel wird die vorherige Suche auf Ergebnisse beschränkt, die `ProjectA` als Wert einer Dimension enthalten. 

```
SEARCH(' (EC2 OR EBS) AND ReadOps AND ProjectA ', 'Maximum')
```

Das folgenden Beispiel nutzt verschachtelte Gruppierungen. Es gibt Lambda-Metriken für Fehler (`Errors`) aus allen Funktionen und Funktionsaufrufe (`Invocations`) mit Namen, die die Zeichenfolgen `ProjectA` oder `ProjectB` enthalten, aus.

```
SEARCH(' {AWS/Lambda,FunctionName} MetricName="Errors" OR (MetricName="Invocations" AND (ProjectA OR ProjectB)) ', 'Average')
```

## CloudWatch Suchausdrücke: Mathematische Ausdrücke verwenden
<a name="search-expression-math-expressions"></a>

Sie können einen Suchausdruck als Teil von mathematischen Ausdrücken in einem Diagramm verwenden. 

Beispiel: **SUM(SEARCH(' \$1AWS/Lambda, FunctionName\$1 MetricName="Errors" ', 'Sum'))** gibt die Summe der `Errors`-Metrik für alle Ihre Lambda-Funktionen zurück.

Mit separaten Zeilen für Such- und mathematische Ausdrücke erzielen Sie eventuell nützlichere Ergebnisse. Angenommen, Sie verwenden die beiden folgenden Ausdrücke in einem Diagramm. Die erste Zeile zeigt separate `Errors`-Linien für jede Ihrer Lambda-Funktionen an. Die ID dieses Ausdrucks ist `e1`. Die zweite Zeile fügt eine weitere Linie mit den Summen der Fehler aller Funktionen hinzu.

```
SEARCH(' {AWS/Lambda, FunctionName}, MetricName="Errors" ', 'Sum')
SUM(e1)
```