Como posso usar as consultas do CloudWatch Logs Insights com meu log de fluxo da VPC?

Última atualização: 07/04/2022

Quero usar consultas do Amazon CloudWatch Logs Insights para processar meus logs de fluxo da Amazon Virtual Private Cloud (Amazon VPC) que estão em um grupo de logs. Como posso fazer isso?

Breve descrição

Depois de ativar logs de fluxo da VPC direcionados ao CloudWatch Logs, você verá um fluxo de logs para cada interface de rede elástica. O CloudWatch Logs Insights é uma ferramenta de consulta que pode realizar consultas complexas em eventos de log armazenados em grupos de logs. Se ocorrer um problema, você poderá usar o CloudWatch Logs Insights para identificar as causas potenciais e validar as correções implantadas.

Para obter informações sobre os tipos de registro compatíveis, consulte Registros compatíveis e campos descobertos.

Resolução

Executar uma consulta

Para executar uma consulta, faça o seguinte:

1.    Abra o console do CloudWatch.

2.    Selecione Logs, Logs Insights.

3.    No painel Logs Insights, selecione o grupo de logs cujos dados você deseja analisar e visualizar.

4.    Você pode criar uma consulta ou executar uma das consultas de amostra fornecidas para logs de fluxo da VPC. Se estiver criando uma consulta personalizada, comece revisando os tutoriais fornecidos na documentação do Amazon CloudWatch. Para obter informações sobre sintaxe de consulta, consulte Sintaxe de consulta do CloudWatch Logs Insights.

5.    Selecione History (Histórico) para ver as consultas executadas anteriormente. Você pode executar consultas novamente em History (Histórico).

6.    Para exportar seus resultados, selecione Export results (Exportar resultados) e escolha um formato.

Consultas de exemplo

Cenário 1

Você tem um servidor Web, um servidor de aplicações e um servidor de banco de dados. A aplicação não está funcionando conforme o esperado. Por exemplo, você está recebendo um tempo limite ou erro HTTP 503 e está tentando determinar a causa do erro.

Variáveis de exemplo:

  • Action (Ação) é definida como "REJECT", para que apenas as conexões rejeitadas sejam retornadas.
  • A consulta inclui somente redes internas.
  • A lista de IPs de servidor mostra conexões de entrada e saída (srcAddr e dstAddr).
  • Limit (Limite) está definido como 5 para que apenas as cinco primeiras entradas sejam mostradas.
  • IP do servidor Web: 10.0.0.4
  • IP do servidor de aplicações: 10.0.0.5
  • IP do servidor de banco de dados: 10.0.0.6
filter(
action="REJECT" and
dstAddr like   /^(10\.|192\.168\.)/and
srcAddrlike   /^(10\.|192\.168\.)/ and
(
srcAddr = "10.0.0.4" or
dstAddr = "10.0.0.4" or
srcAddr = "10.0.0.5" or
dstAddr = "10.0.0.5" or
srcAddr = "10.0.0.6" or
dstAddr = "10.0.0.6" or
)
)|
stats count(*) as records by srcAddr,dstAddr,dstPort,protocol |
sort records desc |
limit 5

Cenário 2

Você está enfrentando tempos limite intermitentes em uma determinada interface de rede elástica. A consulta a seguir verifica se há rejeições na interface de rede elástica durante um período de tempo.

fields @timestamp, interfaceId, srcAddr, dstAddr, action
| filter (interfaceId = 'eni-05012345abcd' and action = 'REJECT')
| sort @timestamp desc
| limit 5

Cenário 3

O exemplo de consulta a seguir analisa os logs de fluxo da VPC para produzir um relatório sobre uma interface de rede elástica específica. A consulta verifica a quantidade de tráfego que está sendo enviada para portas diferentes.

fields @timestemp, @message
 | stats count(*) as records by dstPort, srcAddr, dstAddr as Destination
 | filter interfaceId="eni-05012345abcd"
 | filter dstPort="80" or dstPort="443" or dstPort="22" or dstPort="25"
 | sort HitCount desc
 | limit 10

Cenário 4

A consulta a seguir filtra os logs de fluxo da VPC para listar os endereços IP que estão tentando se conectar a um IP ou CIDR específico em sua VPC.

Para um IP específico:

fields @timestamp, srcAddr, dstAddr
 | sort @timestamp desc
 | limit 5
 | filter srcAddr like "172.31."

Para um CIDR específico:

fields @timestamp, srcAddr, dstAddr
 | sort @timestamp desc
 | limit 5
 | filter isIpv4InSubnet(srcAddr,"172.31.0.0/16)

Observação: para obter exemplos adicionais de consultas, consulte Consultas de exemplo.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?