

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á.

# Exemplos de consultas
<a name="CWL_QuerySyntax-examples"></a>

Esta seção contém uma lista de comandos de consulta gerais e úteis que você pode executar no [CloudWatchconsole](https://console.aws.amazon.com/cloudwatch/). Para obter informações sobre como executar um comando de consulta, consulte [Tutorial: Executar e modificar uma consulta de amostra](https://docs.aws.amazon.com/en_us/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_RunSampleQuery.html) no *Guia do usuário do Amazon CloudWatch Logs*.

Para obter mais informações sobre a sintaxe das consultas, consulte [CloudWatch Sintaxe de consulta de linguagem do Logs Insights](CWL_QuerySyntax.md).

**Topics**
+ [Consultas gerais](#CWL_QuerySyntax-examples-general)
+ [Consultas de logs do Lambda](#CWL_QuerySyntax-examples-Lambda)
+ [Consultas para logs de fluxo da Amazon VPC](#CWL_QuerySyntax-examples-VPC)
+ [Consultas de logs do Route 53](#CWL_QuerySyntax-examples-Route53)
+ [Consultas para registros CloudTrail](#CWL_QuerySyntax-examples-CloudTrail)
+ [Consultas para Amazon API Gateway](#CWL_QuerySyntax-examples-APIGateway)
+ [Consultas para gateway NAT](#CWL_QuerySyntax-examples-NATGateway)
+ [Consultas para logs do servidor Apache](#CWL_QuerySyntax-examples-Apache)
+ [Consultas para a Amazon EventBridge](#CWL_QuerySyntax-examples-EventBridge)
+ [Exemplos do comando de análise](#CWL_QuerySyntax-examples-parse)

## Consultas gerais
<a name="CWL_QuerySyntax-examples-general"></a>

**Encontre os 25 eventos de log adicionados mais recentemente.**

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

**Obtenha uma lista do número de exceções por hora.** 

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

**Obtenha uma lista de eventos de log que não sejam exceções.** 

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

**Obtenha o evento de log mais recente para cada valor exclusivo do campo `server`.** 

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

**Obtenha o evento de log mais recente para cada valor exclusivo do campo `server` para cada tipo `severity`.** 

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

## Consultas de logs do Lambda
<a name="CWL_QuerySyntax-examples-Lambda"></a>

**Determine a quantidade de memória provisionada excessivamente.**

```
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
```

**Crie um relatório de latência.**

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

**Procure invocações de funções lentas e elimine solicitações duplicadas que podem surgir de novas tentativas ou código no lado do cliente. Nessa consulta, `@duration` está em milissegundos.**

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

## Consultas para logs de fluxo da Amazon VPC
<a name="CWL_QuerySyntax-examples-VPC"></a>

**Encontre as 15 principais transferências de pacotes nos hosts:**

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

**Encontre as 15 principais transferências de bytes para hosts em uma determinada sub-rede.**

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

**Encontre os endereços IP que usam o UDP como um protocolo de transferência de dados.**

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

**Encontre os endereços IP nos quais os registros do fluxo foram ignorados durante a janela de captura.**

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

**Encontre um único registro para cada conexão para ajudar a solucionar problemas de conectividade com a rede.**

```
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
```

## Consultas de logs do Route 53
<a name="CWL_QuerySyntax-examples-Route53"></a>

**Encontre a distribuição de registros por hora por tipo de consulta.**

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

**Encontre os 10 resolvedores DNS com o maior número de solicitações.**

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

**Encontre o número de registros por domínio e subdomínio em que o servidor deixou de concluir a solicitação DNS.**

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

## Consultas para registros CloudTrail
<a name="CWL_QuerySyntax-examples-CloudTrail"></a>

**Encontre o número de entradas de registro para cada serviço, tipo de evento e AWS região.**

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

**Encontre os hosts do Amazon EC2 que foram iniciados ou parados em uma determinada AWS região.**

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

**Encontre as AWS regiões, os nomes ARNs de usuário e os usuários recém-criados do IAM.**

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

**Encontre o número de registros em que ocorreu uma exceção durante a invocação da API `UpdateTrail`.**

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

**Encontre entradas de log em que TLS 1.0 ou 1.1 foi usado**

```
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
```

**Encontre o número de chamadas por serviço que usaram o TLS versões 1.0 ou 1.1**

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

## Consultas para Amazon API Gateway
<a name="CWL_QuerySyntax-examples-APIGateway"></a>

Encontre os 10 últimos erros 4XX

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

Identifique as 10 Amazon API Gateway solicitações mais antigas em seu grupo de registros de Amazon API Gateway acesso

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

Retorne a lista dos caminhos de API mais populares no seu grupo de logs de acesso do  Amazon API Gateway 

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

Crie um relatório de latência de integração para seu grupo de logs de acesso do  Amazon API Gateway 

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

## Consultas para gateway NAT
<a name="CWL_QuerySyntax-examples-NATGateway"></a>

Se você notar custos mais altos do que o normal em sua AWS fatura, você pode usar o CloudWatch Logs Insights para encontrar os principais contribuidores. Para obter mais informações sobre os seguintes comandos de consulta, consulte [Como posso encontrar os principais contribuidores para o tráfego por meio do gateway NAT na minha VPC](https://aws.amazon.com/premiumsupport/knowledge-center/vpc-find-traffic-sources-nat-gateway/)? na página de suporte AWS premium.

**nota**  
Nos comandos de consulta a seguir, substitua “x.x.x.x” pelo IP privado do gateway NAT e substitua “y.y” pelos dois primeiros octetos do intervalo CIDR da VPC.

**Encontre as instâncias que estão enviando mais tráfego por meio de seu gateway NAT.**

```
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
```

**Determine o tráfego de/para as instâncias em seus gateways NAT.**

```
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
```

**Determine os destinos da Internet com os quais as instâncias em sua VPC se comunicam com mais frequência para uploads e downloads.**

*****Para 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
```

*****Para 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
```

## Consultas para logs do servidor Apache
<a name="CWL_QuerySyntax-examples-Apache"></a>

Você pode usar o CloudWatch Logs Insights para consultar os registros do servidor Apache. Para obter mais informações sobre as consultas a seguir, consulte [Simplificando os registros do servidor Apache com CloudWatch o Logs Insights no blog](https://aws.amazon.com/blogs/mt/simplifying-apache-server-logs-with-amazon-cloudwatch-logs-insights/) AWS Cloud Operations & Migrations.

**Encontre os campos mais relevantes para que você possa revisar seus logs de acesso e verificar se há tráfego no caminho */admin* da aplicação.**

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

**Encontre o número de solicitações GET exclusivas que acessaram sua página principal com o código de status “200” (sucesso).**

```
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
```

**Encontre o número de vezes que o serviço Apache foi reiniciado.**

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

## Consultas para a Amazon EventBridge
<a name="CWL_QuerySyntax-examples-EventBridge"></a>

Obtenha o número de EventBridge eventos agrupados por tipo de detalhe do evento

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

## Exemplos do comando de análise
<a name="CWL_QuerySyntax-examples-parse"></a>

**Use uma expressão de glob para extrair os campos `@user`, `@method` e `@latency` do campo de log `@message` e retornar a latência média para cada combinação exclusiva de `@method` e `@user`.** 

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

**Use uma expressão regular para extrair os campos `@user2`, `@method2` e `@latency2` do campo de log `@message` e retornar a latência média para cada combinação exclusiva de `@method2` e `@user2`.**

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

**Extrai os campos `loggingTime`, `loggingType` e `loggingMessage`, aplica o filtro para eventos de logs que contêm strings `ERROR` ou `INFO` e exibe apenas os campos `loggingMessage` e `loggingType` para eventos que contêm uma string `ERROR`.**

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