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
Nella console Google Cloud , vai alla pagina Cloud NAT.
Fai clic sul gateway NAT.
Fai clic su Modifica.
Fai clic su Configurazioni avanzate.
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
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 NATROUTER_NAME: il nome del router Cloud che ospita il gateway NATREGION: 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
Nella console Google Cloud , vai alla pagina Cloud NAT.
Fai clic sul gateway NAT.
Fai clic su Modifica.
Fai clic su Configurazioni avanzate.
Nella sezione Logging, seleziona Traduzione ed errori.
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 NATROUTER_NAME: il nome del router Cloud che ospita il gateway NATREGION: la regione del router Cloud
Disabilita logging
Per disattivare la registrazione:
Console
Nella console Google Cloud , vai alla pagina Cloud NAT.
Fai clic sul gateway NAT.
Fai clic su Modifica.
Fai clic su Configurazioni avanzate.
Nella sezione Logging, seleziona Nessun logging.
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 NATROUTER_NAME: il nome del router Cloud che ospita il gateway NATREGION: la regione del router Cloud
Determinare lo stato del logging
Per determinare lo stato della registrazione, segui questi passaggi:
Console
Nella console Google Cloud , vai alla pagina Cloud NAT.
Fai clic sul gateway NAT.
Fai clic su Modifica.
Fai clic su Configurazioni avanzate.
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 NATROUTER_NAME: il nome del router Cloud che ospita il gateway NATREGION: la regione del router Cloud
Visualizza i log
Per visualizzare i log NAT:
Console
Nella console Google Cloud , vai alla pagina 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 |
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 |