Come posso utilizzare le query di CloudWatch Logs Insights con il mio log di flusso VPC?

3 minuti di lettura
0

Desidero utilizzare le query di Approfondimenti di Amazon CloudWatch Logs per elaborare i log di flusso di Amazon Virtual Private Cloud (Amazon VPC) che si trovano in un gruppo di log.

Breve descrizione

Quando si attivano i log di flusso VPC che puntano a CloudWatch Logs, viene visualizzato un flusso di log per ogni interfaccia di rete elastica. Se si verifica un problema, utilizza CloudWatch Logs Insights per identificare le cause potenziali e convalidare le correzioni implementate.

Per ulteriori informazioni sui tipi di log supportati da CloudWatch Logs Insights, consulta Supported logs and discovered fields (Registri supportati e campi rilevati).

Risoluzione

Esecuzione di una query

Utilizza la console CloudWatch per eseguire una query di esempio o eseguire una query personalizzata. Per eseguire una query già eseguita in precedenza, scegli Cronologia. Per esportare i risultati, scegli Esporta risultati, quindi seleziona un formato.

Query di esempio

Scenario 1

Disponi di un server web, un server applicativo e un server di database. Ricevi un errore di timeout o HTTP 503 e desideri determinare la causa dell'errore.

Esegui una query con le seguenti variabili di esempio:

  • Azione è impostata su RIFIUTA in modo che vengano restituite solo le connessioni rifiutate.
  • La query include solo le reti interne.
  • L'elenco di indirizzi IP del server mostra le connessioni in entrata e in uscita (srcAddr e DSTAddr).
  • Il limite è impostato su 5 in modo che vengano visualizzate solo le prime cinque voci.
  • L'indirizzo IP del server web è 10.0.0.4.
  • L'indirizzo IP del server delle app è 10.0.0.5.
  • L'indirizzo IP del server di database è 10.0.0.6.

Query di esempio:

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

Scenario 2

Si verificano timeout intermittenti su un'interfaccia di rete. Per verificare la presenza di rifiuti sull'interfaccia di rete in un periodo di tempo, esegui la seguente query:

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

Scenario 3

Per analizzare i log di flusso VPC e generare un report su un'interfaccia di rete specifica, esegui la seguente query:

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

La query precedente verifica la quantità di traffico inviato a porte diverse.

Scenario 4

Per filtrare i log di flusso VPC ed elencare gli indirizzi IP che tentano di connettersi a un indirizzo IP o CIDR specifico nel VPC, esegui una delle seguenti query.

Indirizzo IP specifico:

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

CIDR specifico:

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

Per altre query di esempio, consulta Sample queries (Query di esempio).

AWS UFFICIALE
AWS UFFICIALEAggiornata 6 mesi fa