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

3 minuto de leitura
0

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

Breve descrição

Quando você ativa os logs de fluxo de VPC direcionados ao CloudWatch Logs, você vê um stream de logs para cada interface de rede elástica. Se ocorrer um problema, use o CloudWatch Logs Insights para identificar possíveis causas e validar as correções implantadas.

Para obter mais informações sobre os tipos de logs suportados pelo CloudWatch Logs Insights, consulte Logs suportados e campos descobertos.

Resolução

Execute uma consulta

Use o console do CloudWatch para executar uma consulta de amostra ou executar uma consulta personalizada. Para executar uma consulta que você executou anteriormente, escolha Histórico. Para exportar seus resultados, escolha Exportar resultados e, em seguida, escolha um formato.

Exemplos de consultas

Cenário 1

Você tem um servidor web, servidor de aplicações e servidor de banco de dados. Você recebe um erro de tempo limite ou HTTP 503 e deseja determinar a causa do erro.

Execute uma consulta com as seguintes variáveis de exemplo:

  • A Ação é definida como REJECT para que somente as conexões rejeitadas sejam retornadas.
  • A consulta inclui somente redes internas.
  • A lista de endereços IP do servidor mostra as conexões de entrada e saída (srcAddr e dStaddr).
  • O Limite é definido como 5 para que somente as cinco primeiras entradas sejam mostradas.
  • O endereço IP do servidor web é 10.0.0.4.
  • O endereço IP do servidor de aplicações é 10.0.0.5.
  • O endereço IP do servidor de banco de dados é 10.0.0.6.

Consulta de exemplo:

filter(
   action="REJECT" and
   dstAddr like /^(10\.|192\.168\.)/ and  
   srcAddr like /^(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")
)
| stats count(*) as records by srcAddr,dstAddr,dstPort,protocol
| sort records desc
| limit 5

Cenário 2

Você experimenta tempos limite intermitentes em uma interface de rede. Para verificar se há rejeições na interface de rede durante um período de tempo, execute a seguinte consulta:

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

Cenário 3

Para analisar os logs de fluxo da VPC e produzir um relatório sobre uma interface de rede específica, execute a seguinte consulta:

fields @timestamp, @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

A consulta anterior verifica a quantidade de tráfego que é enviada para portas diferentes.

Cenário 4

Para filtrar os logs de fluxo da VPC e listar os endereços IP que tentam se conectar a um endereço IP específico ou CIDR na sua VPC, execute uma das seguintes consultas.

Endereço IP específico:

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

CIDR específico:

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

Para ver mais exemplos de consultas, consulte Exemplos de consultas.

AWS OFICIAL
AWS OFICIALAtualizada há 3 meses