Un'istanza di una macchina virtuale (VM) ha quattro porte seriali virtuali. Il sistema operativo, il BIOS e altre entità a livello di sistema dell'istanza spesso scrivono l'output nelle porte seriali, il che rende l'output della porta seriale utile per risolvere i problemi di arresti anomali, avvii non riusciti, problemi di avvio o di arresto.
Questa pagina descrive i metodi per visualizzare l'output della porta seriale, incluso l'utilizzo di Cloud Logging per conservare l'output della porta seriale anche dopo l'arresto o l'eliminazione di un'istanza. Se devi inviare comandi a una porta seriale mentre un'istanza è in esecuzione, consulta Interazione con la console seriale.
L'output della porta seriale è accessibile tramite la console Google Cloud , Google Cloud CLI e REST, ma solo mentre la VM è in esecuzione. I log sono limitati all'output di 1 MB più recente per porta.
Se abiliti la registrazione dell'output della porta seriale, Cloud Logging fornisce gratuitamente i primi 50 gibibyte (GiB) al mese di logging e conserva i log per 30 giorni.
Prima di iniziare
- Se vuoi registrare l'output della porta seriale in Cloud Logging, acquisisci familiarità con Cloud Logging.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso a Google Cloud servizi e API. Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali fornite a gcloud CLI.
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Abilitazione e disabilitazione della registrazione dell'output della porta seriale
Puoi controllare se le tue istanze inviano l'output della porta seriale a Cloud Logging impostando i metadati a livello di progetto o istanza. Puoi anche disattivare la funzionalità per tutti gli utenti della tua organizzazione impostando un criterio dell'organizzazione.
Impostazione dei metadati di progetto e istanza
Per impostazione predefinita, il logging dell'output della porta seriale in Cloud Logging è disabilitato. Se il logging dell'output della porta seriale in Cloud Logging non è vincolato per la tua organizzazione, puoi attivarlo o disattivarlo per i progetti e per le singole istanze VM impostando la voce dei metadati
serial-port-logging-enable
sutrue
ofalse
.Se imposti una voce di metadati a livello di progetto, tutte le istanze VM del progetto ereditano implicitamente questa impostazione. Se imposti una voce dei metadati dell'istanza, questa viene attivata solo per quella VM, indipendentemente dall'impostazione del progetto.
Puoi impostare una voce di metadati utilizzando la console Google Cloud , gcloud CLI o l'API Compute Engine. Per ulteriori informazioni, vedi Impostare metadati personalizzati.
Ad esempio, il seguente comando gcloud CLI attiva il logging dell'output della porta seriale in Cloud Logging per il tuo progetto:
gcloud compute project-info add-metadata \ --metadata serial-port-logging-enable=true
Allo stesso modo, il seguente comando gcloud CLI attiva la registrazione dell'output della porta seriale in Cloud Logging per un'istanza specifica:
gcloud compute instances add-metadata INSTANCE_NAME \ --metadata serial-port-logging-enable=true
Per disattivare il logging dell'output della porta seriale in Cloud Logging, imposta
serial-port-logging-enable
sufalse
:gcloud compute instances add-metadata INSTANCE_NAME \ --metadata serial-port-logging-enable=false
Filtri di esclusione
In Cloud Logging, puoi creare un filtro di esclusione per rimuovere voci specifiche della porta seriale da Esplora log. Ad esempio, con una voce di metadati a livello di progetto impostata su
serial-port-logging-enable=true
, puoi disattivare il logging dell'output della porta seriale per istanze VM specifiche utilizzando un filtro avanzato:logName = "projects/PROJECT_ID/logs/serialconsole.googleapis.com%2Fserial_port_1_output" resource.type = "gce_instance" resource.labels.instance_id != "INSTANCE_1_ID" resource.labels.instance_id != "INSTANCE_2_ID"
Impostazione di un criterio dell'organizzazione
Puoi disattivare la registrazione dell'output della porta seriale in Cloud Logging per l'intera organizzazione impostando una policy dell'organizzazione, che vincola determinate configurazioni delle risorse Google Cloud . Nello specifico, imposta il seguente vincolo booleano:
constraints/compute.disableSerialPortLogging
. Per saperne di più, consulta la pagina Creare e gestire le policy dell'organizzazione.La disattivazione della registrazione della porta seriale impostando
constraints/compute.disableSerialPortLogging
sutrue
non è retroattiva. Le istanze VM esistenti con una voce di metadati che abilita il logging della porta seriale in Cloud Logging continuano a registrare i log in Cloud Logging a meno che tu non reimposti i metadati per queste istanze.Dopo aver impostato questo vincolo dell'organizzazione su
true
, non puoi impostare i metadati dell'istanza o del progetto per abilitare il logging dell'output della porta seriale in Cloud Logging per qualsiasi istanza all'interno dell'organizzazione.Visualizzazione dell'output della porta seriale
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Seleziona l'istanza VM per la quale vuoi visualizzare l'output della porta seriale.
In Log, fai clic su Porta seriale 1, 2, 3 o 4. Le entità a livello di sistema in genere utilizzano la prima porta seriale (porta 1), che è nota anche come console seriale.
gcloud
Utilizza il comando
gcloud compute instances get-serial-port-output
.gcloud compute instances get-serial-port-output INSTANCE_NAME \ --port PORT \ --start START \ --zone ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanzaPORT
: il numero della porta (1
,2
,3
o4
) per cui vuoi visualizzare l'output. In genere, le entità a livello di sistema utilizzano la prima porta seriale (porta 1), nota anche come console seriale. Per impostazione predefinita, viene restituito l'output della prima porta seriale.START
: l'indice di byte (in base zero) del primo byte che vuoi restituire. Utilizza questo flag se vuoi continuare a ricevere l'output di una richiesta precedente troppo lunga per essere restituita in un solo tentativo.ZONE
: la zona dell'istanza.
REST
Nell'API, crea una richiesta
get
al metodoinstances.getSerialPortOutput
.GET https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/serialPort
Cloud Logging
- Abilita il logging della porta seriale in Cloud Logging.
Vai alla pagina Istanze VM.
Seleziona l'istanza VM per la quale vuoi visualizzare i log dell'agente di avvio.
In Log, fai clic su Cloud Logging per visualizzare i log di Cloud Logging.
Per ulteriori informazioni, inclusi i filtri, vedi Utilizzare Esplora log.
Gestione dei caratteri non UTF-8
L'output della porta seriale viene sottoposto a escape utilizzando il metodo
CHexEscape()
della libreria C++ Abseil open source, in modo che i caratteri non UTF-8 vengano codificati come stringhe esadecimali. Puoi utilizzare il metodoCUnescape()
corrispondente per ottenere l'output esatto inviato alla porta seriale.Errori comuni della porta seriale
Di seguito sono riportati alcuni esempi di errori comuni che potresti riscontrare nell'output della porta seriale.
Errore durante la configurazione di IPv6
Quando IPv6 non è configurato, nei log del journal del sistema operativo potrebbe verificarsi il seguente errore:
ERROR addresses.go:301 Error configuring IPv6: Internet Systems Consortium DHCP Client 4.2.5
Ignora questo errore. Questo errore non influisce sulla tua VM.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-09-04 UTC.
-