

# Exemplos de expressão de pesquisa do CloudWatch
<a name="search-expression-examples"></a>

Os exemplos a seguir ilustram mais sintaxe e usos de expressões de pesquisa. Vamos começar com uma pesquisa por `CPUUtilization` em todas as instâncias na região e examinar variações.

Este exemplo exibe uma linha para cada instância na região, mostrando a métrica `CPUUtilization` do namespace `AWS/EC2`.

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

A alteração de `InstanceId` para `InstanceType` muda o gráfico para mostrar uma linha para cada tipo de instância usado na região. Os dados de todas as instâncias de cada tipo são agregados em uma linha para esse tipo de instância.

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

O exemplo a seguir agrega o `CPUUtilization` por tipo de instância e exibe uma linha para cada tipo de instância que inclui a string `micro`.

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

Este exemplo restringe o exemplo anterior, alterando o `InstanceType` para uma pesquisa exata por instâncias t2.micro.

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

A pesquisa a seguir remove a parte `{metric schema}` da consulta, portanto, a métrica `CPUUtilization` de todos os namespaces aparece no gráfico. Isso pode retornar diversos resultados, pois o gráfico inclui várias linhas para a métrica `CPUUtilization` de cada serviço da AWS agregados em diferentes dimensões. 

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

Para restringir um pouco esses resultados, você pode especificar dois namespaces de determinadas métricas. 

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

O exemplo anterior é a única maneira de fazer uma pesquisa de vários namespaces específicos com uma consulta de pesquisa, já que você pode especificar apenas um esquema de métrica em cada consulta. No entanto, para adicionar mais estrutura, você pode usar duas consultas no gráfico, conforme o exemplo a seguir. Este exemplo também adiciona mais estrutura especificando uma dimensão a ser usada para agregar os dados para o Amazon ECS.

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

O exemplo a seguir retorna a métrica do Elastic Load Balancing chamada `ConsumedLCUs` e todas as métricas ou dimensões do Elastic Load Balancing que contenham o token `flow`. 

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

O exemplo a seguir usa agrupamentos aninhados. Ele retorna métricas do Lambda para `Errors` de todas as funções, e `Invocations` de funções com nomes que incluem as strings `ProjectA` ou `ProjectB`.

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

O exemplo a seguir exibe todas as suas métricas personalizadas, excluindo métricas geradas por serviços da AWS.

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

O exemplo a seguir exibe métricas com nomes de métricas, namespaces, nomes de dimensão e valores de dimensão que contêm a string `Errors` como parte do nome.

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

O exemplo a seguir restringe essa pesquisa a correspondências exatas. Por exemplo, essa pesquisa localiza o nome da métrica `Errors`, mas não métricas chamadas `ConnectionErrors` ou `errors`.

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

O exemplo a seguir mostra como especificar nomes que contêm espaços ou caracteres especiais na parte do esquema de métrica do termo de pesquisa.

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

## Exemplos de expressão de pesquisa da observabilidade entre contas do CloudWatch
<a name="search-expression-examples"></a>

**Exemplos da observabilidade entre contas do CloudWatch**

Se você fez login em uma conta configurada como uma conta de monitoramento na observabilidade entre contas do CloudWatch, poderá usar a função **SEARCH** para retornar as métricas das contas de origem especificadas. Para obter mais informações, consulte [Observabilidade entre contas do CloudWatch](CloudWatch-Unified-Cross-Account.md).

O exemplo a seguir recupera todas as métricas do Lambda da conta com o ID de conta 111122223333.

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

O exemplo a seguir recupera todas as métricas da `AWS/EC2` de duas contas: 111122223333 e 777788889999.

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

O exemplo a seguir recupera todas as métricas da `AWS/EC2` da conta de origem 111122223333 e da própria conta de monitoramento.

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

O exemplo a seguir recupera a `SUM` da métrica `MetaDataToken` da conta `444455556666` com a dimensão `InstanceId`.

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