

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando a opção de consulta métrica para consultar dados do CloudWatch Metrics Insights
<a name="CloudWatch-using-the-metric-query"></a>

**nota**  
O Amazon CloudWatch Metrics Insights está em versão prévia. CloudWatch Os recursos do Metrics Insights estão abertos a todos Contas da AWS. Os recursos podem estar sujeitos a alterações. 

 Você pode consultar dados do CloudWatch Metrics Insights escolhendo o `metric query` modo no **editor de consultas Metric**. 

 CloudWatch O Metrics Insights é um poderoso mecanismo de consulta SQL de alto desempenho que você pode usar para consultar suas métricas em grande escala. É um mecanismo de consulta rápido, flexível e baseado em SQL que você pode usar para identificar tendências e padrões em todas as suas CloudWatch métricas em tempo real. Ele usa um dialeto de SQL. Para obter mais informações sobre a sintaxe de consulta do Metrics Insights, consulte [Palavras-chave e sintaxe de consulta](#metrics-insights-syntax-keywords).

## Palavras-chave e sintaxe de consulta
<a name="metrics-insights-syntax-keywords"></a>

CloudWatch O Metrics Insights usa um dialeto do SQL. O exemplo a seguir mostra a sintaxe de consulta.

```
SELECT FUNCTION(metricName)
FROM namespace | [ SCHEMA(namespace[, labelKey [, ...] ]) ]
     [ WHERE labelKey OPERATOR labelValue [AND|OR|([...])*] [, ...] ]
[ GROUP BY labelKey [, ...]]
[ ORDER BY FUNCTION() [DESC | ASC] ]
[ LIMIT number]
```

 As palavras-chave não diferenciam maiúsculas de minúsculas, mas os identificadores diferenciam. Os identificadores incluem os nomes das métricas, namespaces e dimensões. 

 A tabela a seguir fornece as palavras-chave de consulta e suas descrições.


|  Palavra-chave  |  Description  | 
| --- | --- | 
|  FUNCTION  |  Obrigatório. Especifica a função agregada a ser usada, e também o nome da métrica a ser consultada. Os valores válidos são AVG, COUNT, MAX, MIN e SUM.  | 
|  MetricName   |  Obrigatório. Por exemplo, .CPUUtilization  | 
|  FROM  |  Obrigatório. Especifica a fonte da métrica. Você pode especificar o namespace da métrica que contém a métrica a ser consultada ou uma função da tabela SCHEMA. Alguns exemplos de namespace são AWS/EC2 e AWS/Lambda.  | 
|  SCHEMA  |  (Opcional) Filtra os resultados da consulta para mostrar somente as métricas que são uma correspondência exata ou as métricas que não correspondem.  | 
|  WHERE  |  (Opcional) Filtra os resultados para mostrar apenas as métricas que correspondem à expressão especificada. Por exemplo, .WHERE InstanceType \$1= 'c3.4xlarge'  | 
|  GROUP BY  |  (Opcional) Agrupa os resultados da consulta em várias séries temporais. Por exemplo, .GROUP BY ServiceName  | 
|  ORDER BY  |  (Opcional) Especifica a ordem das séries temporais a serem retornadas. As opções são ASC e DESC.  | 
|  LIMIT  |  (Opcional) Limita o número de séries temporais a serem retornadas.  | 

Veja os seguintes exemplos: 
+ 

  ```
  SELECT AVG(CPUUtilization) FROM "AWS/EC2" 
  ```

   Corresponde a todas as métricas de `CPUUtilization` no namespace `AWS/EC2`, ignorando suas dimensões, e retorna uma única série temporal agregada. 
+ 

  ```
  SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2")
  ```

   Corresponde somente às métricas de `CPUUtilization` no namespace `AWS/EC2` que não têm nenhuma dimensão definida.
+ 

  ```
  SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId)
  ```

   Corresponde somente às `CPUUtilization` métricas que foram reportadas CloudWatch com exatamente uma dimensão,`InstanceId`.
+ 

  ```
  SELECT SUM(RequestCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer,
  AvailabilityZone)
  ```

   Corresponde somente às `RequestCount` métricas que foram reportadas a CloudWatch partir `AWS/ApplicationELB` de exatamente duas dimensões, `LoadBalancer` e. `AvailabilityZone` 

 Os valores de rótulo devem sempre ser incluídos com aspas simples.

### Caracteres de escape
<a name="escape-characters"></a>

Em uma consulta, os valores de rótulo devem sempre estar cercados por aspas simples.   Por exemplo, .`SELECT MAX(CPUUtilization) FROM "AWS/EC2" WHERE AutoScalingGroupName = 'my-production-fleet'` 

 Namespaces de métricas, nomes de métricas e chaves de rótulo que contenham caracteres diferentes de letras, números e sublinhados (`_`) devem estar entre aspas duplas. Por exemplo, .`SELECT MAX("My.Metric")` Se algum deles contiver aspas duplas (como `Bytes"Input"`), você deverá fazer o escape dessa aspa dupla com barras invertidas, como em `SELECT AVG("Bytes\"Input\"")`. Se um namespace de métrica, nome da métrica ou chave de rótulo contiver uma palavra que seja palavra-chave reservada no Metrics Insights, eles também deverão estar entre aspas duplas. Por exemplo, se você tiver uma métrica chamada `LIMIT`, você pode usar `SELECT AVG("LIMIT")`. Também é válido colocar qualquer namespace, nome da métrica ou rótulo entre aspas duplas, mesmo que não inclua uma palavra-chave reservada. 

## Modo Builder e modo de código
<a name="metrics-insights-query-modes"></a>

Você pode criar uma consulta no modo `Builder` ou no modo `Code`.

**Para criar uma consulta no modo `Builder`**

1. Procure e selecione um namespace da métrica, o nome da métrica, o filtro, o grupo e as opções de ordem usando as informações da tabela anterior.

1. Para cada uma dessas opções, escolha na lista de opções possíveis.

**Para criar uma consulta no modo `Code`**

1. Escreva a consulta no editor de código.

1. Para executar a consulta, escolha **Executar consulta** no editor de código.

Para criar uma consulta no modo `builder`:
+ Procure e selecione um namespace da métrica, o nome da métrica, o filtro, o grupo e as opções de ordem usando as informações da tabela acima.
+ Para cada uma dessas opções, escolha na lista de opções possíveis.

O Grafana constrói automaticamente uma consulta SQL com base em suas seleções.

 Para criar uma consulta no modo `code`:
+ Escreva a consulta no editor de código.
+ Para executar a consulta, escolha **Executar consulta** no editor de código.

O editor de código tem um recurso de preenchimento automático integrado que fornece sugestões de palavras-chave, agregações, namespaces, métricas, rótulos e valores de rótulos. As sugestões são mostradas quando você insere um espaço, vírgula ou cifrão. Você também pode usar a combinação de teclado `CTRL+Space`.

O editor de código pode preencher automaticamente a consulta. No entanto, o uso de variáveis de modelo no editor de código pode interferir no preenchimento automático.

## CloudWatch Exemplos de Metrics Insights
<a name="goldeneye-examples"></a>

**nota**  
CloudWatch O Metrics Insights está em pré-visualização aberta. A pré-visualização está aberta para todas as AWS contas e você não precisa solicitar acesso. Alguns recursos poderão ser adicionados ou alterados antes do anúncio de disponibilização para o público. 

Esta seção contém exemplos de consultas úteis do CloudWatch Metrics Insights que você pode copiar e usar diretamente ou copiar e modificar no editor de consultas. Alguns desses exemplos já estão disponíveis no console, e você pode acessá-los escolhendo **Add query** (Adicionar consulta) na visualização de **Metrics** (Métricas). 

### Exemplos do EC2
<a name="goldeneye-EC2-examples"></a>

 Visualizar as métricas de utilização de CPU por instância

```
SELECT AVG(CPUUtilization)
FROM "AWS/EC2"
GROUP BY InstanceId
```

Visualizar a média de utilização de CPU em toda a frota

```
SELECT AVG(CPUUtilization)
FROM SCHEMA("AWS/EC2", InstanceId)
```

 Visualizar as dez instâncias com a maior média de utilização de CPU 

```
SELECT MAX(CPUUtilization)
FROM "AWS/EC2"
GROUP BY InstanceId
LIMIT 10
```

Visualizar as dez instâncias com a maior utilização de CPU, ordenadas pelo valor máximo, em ordem decrescente

```
SELECT AVG(CPUUtilization)
FROM "AWS/EC2"
GROUP BY InstanceId
ORDER BY MAX() DESC
LIMIT 10
```

Nesse caso, o CloudWatch agente está coletando uma CPUUtilization métrica por aplicativo. Esta consulta filtra a média dessa métrica por um nome de aplicação específico.

```
SELECT AVG(CPUUtilization)
FROM "AWS/CWAgent"
WHERE ApplicationName = 'eCommerce'
SELECT AVG(ConcurrentExecutions)
FROM "AWS/Lambda"
```

Visualizar o tempo médio de execução das dez principais funções do Lambda, ordenadas pelo valor máximo, em ordem decrescente

```
SELECT AVG(Duration)
FROM "AWS/Lambda"
GROUP BY FunctionName
ORDER BY MAX() DESC
LIMIT 10
```

Visualizar os tempos de execução médio, mínimo e máximo do Lambda

```
SELECT MAX(Duration)
FROM "AWS/Lambda"
```

### Exemplos do Application Load Balancer
<a name="application-loadbalancer-examples"></a>

 Visualize métricas que têm as dimensões **LoadBalancer**e **AvailabilityZone**

```
SELECT SUM(RequestCount)
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
```

Visualizar métricas com o número de conexões TCP simultâneas ativas

```
SELECT AVG(ActiveConnectionCount)
FROM "AWS/ApplicationELB"
```

### Exemplos do Amazon EBS
<a name="Amazon-elastic-block-store-examples"></a>

 Visualizar as dez maiores médias de bytes de gravação por volume em ordem decrescente

```
SELECT AVG(VolumeWriteBytes)
FROM "AWS/EBS"
GROUP BY VolumeId
ORDER BY MAX() DESC
LIMIT 10
```

Visualizar o tempo médio de gravação de volume do Amazon EBS

```
SELECT AVG(VolumeTotalWriteTime)
FROM "AWS/EBS"
```

Visualizar o tempo médio de ociosidade de volume do Amazon EBS

```
SELECT AVG(VolumeIdleTime)
FROM "AWS/EBS"
View average burst balance per volume
SELECT AVG(BurstBalance)
FROM "AWS/EBS"
GROUP BY VolumeId
View average read bytes across Amazon EBS volumes
SELECT AVG(VolumeReadBytes)
FROM "AWS/EBS"
```

Visualizar a média de bytes de gravação nos volumes do Amazon EBS

```
SELECT AVG(VolumeWriteBytes)
FROM "AWS/EBS"
```

### Exemplos do Amazon Simple Storage Service para PHP
<a name="simple-storage-service-examples"></a>

 Visualizar o grupo de latência média por nome do bucket

```
SELECT AVG(TotalRequestLatency)
FROM "AWS/S3"
GROUP BY BucketName
```

Visualizar o número médio de objetos por bucket em todos os buckets do Amazon S3

```
SELECT AVG(NumberOfObjects)
FROM "AWS/S3"
GROUP BY BucketName
```

### Exemplos do Amazon Simple Notification Service
<a name="Amazon-simple-notificaation-service-examples"></a>

A mazon-simple-notificaation-service - exemplos 

```
SELECT AVG(NumberOfMessagesPublished)
FROM "AWS/SNS"
```

Visualizar o número médio de mensagens que falharam para cada nome de tópico

```
SELECT AVG(NumberOfNotificationsFailed)
FROM "AWS/SNS"
GROUP BY TopicName
```

### AWS Exemplos de uso da API
<a name="AWS-API-usage-examples"></a>

Veja as 20 melhores AWS APIs pelo número de chamadas em sua conta 

```
SELECT COUNT(CallCount)
FROM "AWS/Usage"
WHERE "Type" = 'API'
GROUP BY "Service", "Resource"
ORDER BY SUM() DESC
LIMIT 20
```

## CloudWatch limites do Metrics Insights
<a name="metrics-insights-limits"></a>

CloudWatch Atualmente, o Metrics Insights tem os seguintes limites: 
+ Você pode consultar apenas os dados das três últimas horas.
+ Uma consulta única não pode processar mais de 10.000 métricas. Isso significa que se as cláusulas `SELECT`, `FROM` e `WHERE` corresponderem a mais de 10 mil métricas, apenas as primeiras 10 mil dessas métricas encontradas serão processadas pela consulta.
+ Uma consulta única não pode retornar mais de 500 séries temporais. Isso significa que se a consulta estiver processando mais de 500 métricas, nem todas as métricas serão retornadas nos resultados da consulta. Se você usar uma cláusula `ORDER BY`, todas as métricas sendo processadas serão classificadas, e as 500 que tiverem os valores mais altos ou mais baixos de acordo com a cláusula `ORDER BY` serão retornadas. Se você não incluir uma cláusula `ORDER BY`, não poderá controlar quais 500 métricas correspondentes serão retornadas. 
+ Cada operação `GetMetricData` pode ter apenas uma consulta. No entanto, você pode ter vários widgets em um dashboard para que cada um inclua uma consulta. 