Una instancia de máquina virtual (VM) tiene cuatro puertos serie virtuales. El sistema operativo de la instancia, el BIOS y otras entidades a nivel del sistema a menudo escriben la salida en los puertos serie, lo que hace que la salida del puerto serie sea útil para solucionar fallas, arranques fallidos, problemas de inicio o problemas de apagado.
Esta página describe métodos para ver la salida del puerto serie, incluido el uso de Cloud Logging para conservar la salida del puerto serie incluso después de que se detenga o elimine una instancia. Si necesita enviar comandos a un puerto serie mientras se ejecuta una instancia, consulte Interactuar con la consola serie .
Se puede acceder a la salida del puerto serie a través de la consola de Google Cloud, la CLI de gcloud y REST, pero solo mientras la instancia de VM se está ejecutando. Los registros están limitados al 1 MB de salida más reciente por puerto.
Si habilita el registro de salida del puerto serie, Cloud Logging proporciona los primeros 50 gibibytes (GiB) por mes de registro de forma gratuita y conserva los registros durante 30 días .
Antes de comenzar
- Si desea registrar la salida del puerto serie en Cloud Logging, familiarícese con Cloud Logging .
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
En la consola de Google Cloud, vaya a la página de instancias de VM .
Seleccione la instancia de VM para la que desea ver la salida del puerto serie.
En Registros , haga clic en Puerto serie 1 , 2 , 3 o 4 . Las entidades a nivel de sistema suelen utilizar el primer puerto serie (puerto 1), que también se conoce como consola serie .
-
INSTANCE_NAME
: el nombre de la instancia. -
PORT
: el número del puerto (1
,2
,3
o4
) del que desea ver la salida. Las entidades a nivel de sistema suelen utilizar el primer puerto serie (puerto 1), que también se conoce como consola serie. De forma predeterminada, se devuelve la salida del primer puerto serie. -
START
: el índice de bytes (basado en cero) del primer byte que desea devolver. Utilice esta marca si desea continuar obteniendo el resultado de una solicitud anterior que fue demasiado larga para devolverla en un solo intento. -
ZONE
: la zona de su instancia. - Habilite el registro del puerto serie en Cloud Logging .
Vaya a la página de instancias de VM .
Seleccione la instancia de VM para la que desea ver los registros del agente de inicio.
En Registros , haga clic en Cloud Logging para ver los registros de Cloud Logging.
Expanda el menú desplegable Todos los registros y seleccione la salida del puerto serie que desea ver. Las entidades a nivel de sistema suelen utilizar el primer puerto serie (puerto 1), que también se conoce como consola serie. Si un puerto no aparece en el menú desplegable, no tiene salida disponible.
Opcionalmente, expanda el menú desplegable Cualquier nivel de registro para silenciar los registros que están por debajo del nivel de gravedad que desea ver. Por ejemplo, si selecciona el nivel de registro "Información", silenciará las entradas del registro "Depurar". Las entradas de "depuración" normalmente las utiliza únicamente el BIOS en el momento del arranque.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Habilitar y deshabilitar el registro de salida del puerto serie
Puedes controlar si tus instancias envían salida del puerto serie a Cloud Logging configurando metadatos a nivel de proyecto o instancia . También puede desactivar la función para todos los usuarios de su organización estableciendo una política de la organización .
Configuración de metadatos de proyecto e instancia
De forma predeterminada, el registro de salida del puerto serie en Cloud Logging está deshabilitado. Si el registro de salida del puerto serie en Cloud Logging no está restringido para su organización , puede habilitarlo o deshabilitarlo para proyectos y para instancias de VM individuales configurando la entrada de metadatos
serial-port-logging-enable
entrue
ofalse
.Si configura una entrada de metadatos para todo el proyecto, todas las instancias de VM en el proyecto heredan esa configuración implícitamente. Si configura una entrada de metadatos de instancia, la entrada de metadatos se habilita solo para esa VM, independientemente de la configuración del proyecto.
Puedes configurar una entrada de metadatos mediante la consola de Google Cloud, la CLI de gcloud o la API de Compute Engine. Para obtener más información, consulte Configuración de metadatos personalizados .
Por ejemplo, el siguiente comando CLI de gcloud habilita el registro de salida del puerto serie en Cloud Logging para tu proyecto:
gcloud compute project-info add-metadata \ --metadata serial-port-logging-enable=true
De manera similar, el siguiente comando CLI de gcloud habilita el registro de salida del puerto serie en Cloud Logging para una instancia específica:
gcloud compute instances add-metadata INSTANCE_NAME \ --metadata serial-port-logging-enable=true
Para deshabilitar el registro de salida del puerto serie en Cloud Logging, configura
serial-port-logging-enable
enfalse
:gcloud compute instances add-metadata INSTANCE_NAME \ --metadata serial-port-logging-enable=false
Filtros de exclusión
Desde Cloud Logging, puede crear un filtro de exclusión para eliminar entradas de puertos serie específicas del Explorador de registros. Por ejemplo, con una entrada de metadatos de todo el proyecto configurada en
serial-port-logging-enable=true
, puede deshabilitar el registro de salida del puerto serie para instancias de VM específicas mediante el uso de un filtro avanzado: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"
Establecer una política de organización
Puede deshabilitar el registro de salida del puerto serie en Cloud Logging para toda su organización estableciendo una Política de organización , que restringe ciertas configuraciones de Google Cloud recursos. Específicamente, establezca la siguiente restricción booleana:
constraints/compute.disableSerialPortLogging
. Para obtener más información, consulte Creación y gestión de políticas de organización .Deshabilitar el registro del puerto serie estableciendo
constraints/compute.disableSerialPortLogging
entrue
no es retroactivo. Las instancias de VM existentes con una entrada de metadatos que permite el registro del puerto serie en Cloud Logging continúan registrando en Cloud Logging a menos que restablezca los metadatos para esas instancias.Después de establecer esta restricción de organización en
true
, no puede configurar metadatos de instancia o proyecto para habilitar el registro de salida del puerto serie en Cloud Logging para ninguna instancia dentro de la organización.Visualización de la salida del puerto serie
Consola
nube de gcloud
Usa el comando
gcloud compute instances get-serial-port-output
.gcloud compute instances get-serial-port-output INSTANCE_NAME \ --port PORT \ --start START \ --zone ZONE
Reemplace lo siguiente:
DESCANSAR
En la API, cree una solicitud
get
para el métodoinstances.getSerialPortOutput
.GET https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/serialPort
Registro en la nube
Para obtener más información, incluida información sobre el filtrado, consulte Uso del Explorador de registros .
Manejo de caracteres que no son UTF8
La salida del puerto serie se escapa utilizando el método
CHexEscape()
de la biblioteca Abseil C++ de código abierto, por lo que los caracteres que no son UTF8 se codifican como cadenas hexadecimales. Puede utilizar el métodoCUnescape()
correspondiente para obtener la salida exacta que se envió al puerto serie.Errores comunes del puerto serie
Los siguientes son ejemplos de errores comunes que puede encontrar en la salida del puerto serie.
Error al configurar IPv6
El siguiente error puede ocurrir en los registros del diario del sistema operativo cuando IPv6 no está configurado:
ERROR addresses.go:301 Error configuring IPv6: Internet Systems Consortium DHCP Client 4.2.5
Ignora este error. Este error no afecta a su VM.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-17 (UTC).
-