Log e metriche

Logging

Il logging Cloud NAT ti consente di registrare log delle connessioni NAT e dei relativi errori. Quando il logging Cloud NAT è abilitato, può essere generata una voce di log per ciascuno degli scenari seguenti:

  • Alla creazione di una connessione di rete che utilizza NAT.
  • Quando un pacchetto va perso perché non sono disponibili porte per NAT.

Puoi scegliere di registrare log per entrambi i tipi di eventi o per uno dei due.

I log creati vengono inviati a Cloud Logging.

Specifiche

Le seguenti specifiche si applicano al logging di Cloud NAT:

  • Il logging di Cloud NAT gestisce solo il traffico TCP e UDP.

  • La registrazione di Cloud NAT registra solo i pacchetti eliminati se sono pacchetti TCP e UDP in uscita. Non registra i pacchetti in entrata eliminati. Ad esempio, se una risposta in entrata a una richiesta in uscita viene eliminata per qualsiasi motivo, non viene registrato alcun errore.

Ogni istanza VM può generare solo un determinato numero di voci di log per unità di tempo, proporzionale al numero di vCPUs. La VM può generare 50-100 voci di log al secondo per vCPU.

  • Questa soglia di frequenza influisce sul numero di eventi che possono essere registrati. Anche se alcuni eventi vengono filtrati, il loro conteggio delle occorrenze viene conteggiato nel numero di possibili voci di log. La limitazione dei log ai soli errori o alle sole connessioni di conversione degli indirizzi di rete non aumenta necessariamente il numero di voci di log visualizzate. Ad esempio, se scegli di registrare solo le connessioni riuscite, periodi di tentativi di connessione non riusciti eccessivi ed errori NAT possono comunque limitare il numero di voci di log delle connessioni riuscite.

  • Il logging Cloud NAT non registra ogni singolo pacchetto. Anche se la soglia di frequenza della VM non è stata raggiunta, alcune condizioni possono causare l'omissione degli eventi dal log. Per prendere decisioni informate, devi fare affidamento sulla presenza di voci nel logging Cloud NAT, ma non devi presumere che l'assenza di voci significhi che un evento non si è verificato.

Configura logging

Per configurare il logging di Cloud NAT, segui questi passaggi.

Abilita il logging

Se il logging è abilitato, tutti i log raccolti vengono inviati a Cloud Logging per impostazione predefinita. Puoi filtrarli in modo che solo alcuni log vengano inviati.

Puoi anche specificare questi valori quando crei o modifichi un gateway NAT. Le indicazioni riportate di seguito mostrano come abilitare i log per un gateway NAT esistente.

Console

  1. Nella console Google Cloud , vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazioni avanzate.

  5. Nella sezione Logging, seleziona una delle seguenti opzioni:

    • Nessun logging: disattiva il logging
    • Traduzione ed errori: invia tutti i log a Logging
    • Solo traduzione: invia un log solo quando viene creata una connessione; non registra i pacchetti eliminati
    • Solo errori: invia un log quando un pacchetto viene eliminato perché non era disponibile alcuna porta; non registra le nuove connessioni
  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud compute routers nats update.

I seguenti comandi abilitano la registrazione per un gateway NAT esistente.

In ogni comando, sostituisci quanto segue:

  • NAT_GATEWAY: il nome del gateway NAT
  • ROUTER_NAME: il nome del router Cloud che ospita il gateway NAT
  • REGION: la regione del router Cloud

Per registrare gli eventi e gli errori di Network Address Translation:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging

Per registrare solo gli eventi di Network Address Translation:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=TRANSLATIONS_ONLY

Per registrare solo gli errori:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=ERRORS_ONLY

Cancella filtri log

Se hai impostato un filtro, puoi cancellarlo. Se cancelli un filtro dei log, vengono registrati sia gli eventi di Network Address Translation sia gli errori, a condizione che la registrazione sia attivata.

Console

  1. Nella console Google Cloud , vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazioni avanzate.

  5. Nella sezione Logging, seleziona Traduzione ed errori.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud compute routers nats update. Il flag --log-filter=ALL nel comando seguente imposta il filtro dei log in modo che accetti tutti i log.

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --log-filter=ALL

Sostituisci quanto segue:

  • NAT_GATEWAY: il nome del gateway NAT
  • ROUTER_NAME: il nome del router Cloud che ospita il gateway NAT
  • REGION: la regione del router Cloud

Disabilita logging

Per disattivare la registrazione:

Console

  1. Nella console Google Cloud , vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazioni avanzate.

  5. Nella sezione Logging, seleziona Nessun logging.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud compute routers nats update.

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --no-enable-logging

Sostituisci quanto segue:

  • NAT_GATEWAY: il nome del gateway NAT
  • ROUTER_NAME: il nome del router Cloud che ospita il gateway NAT
  • REGION: la regione del router Cloud

Determinare lo stato del logging

Per determinare lo stato della registrazione, segui questi passaggi:

Console

  1. Nella console Google Cloud , vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazioni avanzate.

  5. Esamina le selezioni nella sezione Logging.

gcloud

gcloud compute routers nats describe NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION

Sostituisci quanto segue:

  • NAT_GATEWAY: il nome del gateway NAT
  • ROUTER_NAME: il nome del router Cloud che ospita il gateway NAT
  • REGION: la regione del router Cloud

Visualizza i log

Per visualizzare i log NAT:

Console

  1. Nella console Google Cloud , vai alla pagina Esplora log.

    Vai a Esplora log

    • Per visualizzare tutti i log NAT, nel menu Nome log, seleziona Gateway Cloud NAT.
    • Per visualizzare i log di una sola regione, nel menu Nome log, seleziona Cloud NAT Gateway, quindi sposta il cursore a destra per selezionare una regione.
    • Per visualizzare i log di un solo gateway, nel menu Nome log, seleziona Gateway Cloud NAT, quindi sposta il cursore a destra per selezionare una regione. Sposta di nuovo il cursore verso destra per selezionare un singolo gateway.

In alternativa, inserisci la seguente espressione nell'editor di query:

resource.type="nat_gateway"
logName="projects/{#project_id}/logs/compute.googleapis.com%2Fnat_flows"

gcloud

gcloud logging read 'resource.type=nat_gateway' \
    --limit=10 \
    --format=json

Dove:

  • resource.type=nat_gateway: limita l'output ai tuoi gateway NAT
  • --limit=10: limita l'output a 10 voci; puoi inserire un valore diverso per visualizzare più o meno voci oppure ometterlo completamente per visualizzare uno scorrimento continuo dei log
  • --format=json: mostra l'output in formato JSON

Per altre opzioni, vedi Voci del log di lettura.

Puoi configurare l'esportazione delle metriche basate su log per i log delle risorse.

Informazioni registrate nei log

Le voci di log di Cloud NAT contengono informazioni utili per monitorare ed eseguire il debug del traffico NAT. Le voci di log contengono i seguenti tipi di informazioni:

  • Informazioni generali mostrate nella maggior parte dei log Google Cloud , come gravità, ID progetto, numero di progetto e timestamp.
  • Informazioni specifiche relative a Cloud NAT. Alcuni campi di log contengono voci che a loro volta sono più campi. Queste voci e le descrizioni dei campi sono riportate nelle tabelle seguenti.

Campi log

Campo Valore Significato
connection object(NatIpConnection) Una 7-tupla che descrive l'indirizzo IP e la porta della VM di origine, l'indirizzo IP e la porta di origine NAT, l'indirizzo IP e la porta di destinazione e il protocollo dell'indirizzo IP di questa connessione.
allocation_status enum Indica se questa connessione è stata allocata correttamente o interrotta. OK o DROPPED.
gateway_identifiers object(NatGateway) La configurazione del gateway NAT utilizzata dalla connessione.
endpoint object(InstanceDetails) Dettagli dell'istanza VM. In una configurazione del VPC condiviso, project_id corrisponde al progetto di servizio.
vpc object(VpcDetails) Dettagli della rete Virtual Private Cloud (VPC). In una configurazione del VPC condiviso, project_id corrisponde a quello del progetto host.
destination object(DestinationDetails) Dettagli della destinazione della connessione.

Formato del campo NatIpConnection

Campo Tipo Descrizione
src_ip string Indirizzo IP di origine
src_port int32 Porta di origine
nat_ip string Indirizzo IP NAT
nat_port int32 Porta assegnata da NAT
dest_ip string Indirizzo IP di destinazione1
dest_port int32 Porta di destinazione
protocol int32 Numero di protocollo IANA
1 Per NAT64, questo campo viene compilato con l'indirizzo IPv6 con IPv4 incorporato di destinazione.

Formato del campo NatGateway

Campo Tipo Descrizione
gateway_name string Nome del gateway NAT
router_name string Router Cloud associato al gateway NAT
region string Regione del router Cloud

Formato del campo InstanceDetails

Campo Tipo Descrizione
project_id string ID del progetto contenente la VM
vm_name string Nome istanza della VM
region string Regione della VM
zone string Zona della VM

Formato del campo VpcDetails