

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# CloudWatch 搜尋表達式範例
<a name="search-expression-examples"></a>

以下範例會示範更多的搜尋表達式用法和語法。讓我們開始在區域所有執行個體中搜尋 `CPUUtilization`，然後查看變化。

此範例一行顯示區域中一個執行個體，顯示 `AWS/EC2` 命名空間的 `CPUUtilization` 指標。

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

將 `InstanceId` 變更成 `InstanceType` 會變更圖形，一行顯示區域中使用的一個執行個體類型。每種類型的所有執行個體資料都會彙總至該執行個體類型的一行。

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

以下範例依執行個體類型彙總 `CPUUtilization`，一行顯示一種包括字串 `micro` 的執行個體類型。

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

此範例會縮小前一個範例的結果，將 `InstanceType` 變更為 t2.micro 執行個體的完全相符搜尋。

```
SEARCH('{AWS/EC2,InstanceType} InstanceType="t2.micro" MetricName="CPUUtilization" ', 'Average')
```

以下搜尋會移除查詢的 `{metric schema}` 部分，所以所有命名空間的 `CPUUtilization` 指標會出現在圖形中。這可能會傳回相當多的結果，因為圖形包含`CPUUtilization`每個 AWS 服務指標的多行，並沿著不同的維度彙總。

```
SEARCH('MetricName="CPUUtilization" ', 'Average')
```

若要略微縮小這些結果，您可以指定兩個特定指標命名空間。

```
SEARCH('MetricName="CPUUtilization" AND ("AWS/ECS" OR "AWS/ES") ', 'Average')
```

前一個範例是使用一個搜尋查詢搜尋特定多個命名空間的唯一方式，因為每個查詢中只能指定一個指標結構描述。不過，您可以在圖形中使用兩個查詢以新增更多結構，如以下範例所示。此範例還可指定使用某個維度來彙總 Amazon ECS 資料，以新增更多結構。

```
SEARCH('{AWS/ECS ClusterName}, MetricName="CPUUtilization" ', 'Average')
SEARCH(' {AWS/EBS} MetricName="CPUUtilization" ', 'Average')
```

以下範例會傳回名為 `ConsumedLCUs` 的 Elastic Load Balancing 指標，以及所有包含字符 `flow` 的 Elastic Load Balancing 指標或維度。

```
SEARCH('{AWS/NetworkELB, LoadBalancer} "ConsumedLCUs" OR flow ', 'Maximum')
```

以下範例使用巢狀分組。它會傳回所有函數中 `Errors` 的 Lambda 指標，以及名稱中包含字串 `ProjectA` 或 `ProjectB` 之函數的 `Invocations`。

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

下列範例顯示所有自訂指標，不包括 AWS 服務產生的指標。

```
SEARCH('NOT Namespace=AWS ', 'Average')
```

以下範例顯示的指標，其指標名稱、命名空間、維度名稱和維度值中包含字串 `Errors` 做為名稱的一部分。

```
SEARCH('Errors', 'Average')
```

以下範例會將搜尋縮小至完全相符搜尋。例如，此搜尋會尋找指標名稱 `Errors`，但不尋找名為 `ConnectionErrors` 或 `errors` 的指標。

```
SEARCH(' "Errors" ', 'Average')
```

以下範例示範如何指定在搜尋詞的指標結構描述部分中，包含空格或特殊字元彙的名稱。

```
SEARCH('{"Custom-Namespace", "Dimension Name With Spaces"}, ErrorCount ', 'Maximum')
```

## CloudWatch 跨帳戶觀察功能搜尋表達式範例
<a name="search-expression-examples"></a>

**CloudWatch 跨帳戶觀察功能範例**

如果您登入的帳戶已設定為 CloudWatch 跨帳戶觀察功能中的監控帳戶，則可使用 **SEARCH** 函數從指定來源帳戶傳回指標。如需詳細資訊，請參閱[CloudWatch 跨帳戶觀察功能](CloudWatch-Unified-Cross-Account.md)。

下列範例使用帳戶 ID 111122223333 從帳戶擷取所有 Lambda 指標。

```
SEARCH(' AWS/Lambda :aws.AccountId = 111122223333 ', 'Average')
```

下列範例從兩個帳戶 111122223333 和 777788889999 擷取所有 `AWS/EC2` 指標。

```
SEARCH(' AWS/EC2 :aws.AccountId = (111122223333 OR 777788889999) ', 'Average')
```

下列範例從來源帳戶 111122223333 和監控帳戶本身擷取所有 `AWS/EC2` 指標。

```
SEARCH(' AWS/EC2 :aws.AccountId = (111122223333 OR 'LOCAL') ', 'Average')
```

下列範例從具有 `InstanceId` 維度的帳戶 `444455556666` 擷取 `MetaDataToken` 指標的 `SUM`。

```
SEARCH('{AWS/EC2,InstanceId} :aws.AccountId=444455556666 MetricName=\"MetadataNoToken\"','Sum')
```