Usa Cloud Logging con Container-Optimized OS

A partir del hito 67, Container-Optimized OS incluye el agente de Logging heredado de Google Cloud's operations suite que exporta los registros del contenedor y del sistema a Cloud Logging. El agente de registro está configurado de forma predeterminada para enviar registros de ciertos servicios críticos del sistema y contenedores de aplicaciones del usuario al backend de Cloud Logging. Para obtener más información, consulta la documentación de configuración específica de Container-Optimized OS o la documentación de Google Cloud's operations suite. Este documento se centra en cómo usar el agente de registro en Container-Optimized OS y cómo acceder a los registros.

Habilita el agente de Logging

El agente de registro está inhabilitado de forma predeterminada. Puedes habilitar esta función cuando crees una instancia nueva o actualices una instancia existente.

Crea una instancia nueva con el agente de Logging habilitado

Console

Para ejecutar una instancia de Compute Engine en Container-Optimized OS con el agente de Logging habilitado, sigue estos pasos:

  1. Abre la página de creación de la instancia de Compute Engine en Google Cloud Console.

    Crea una instancia nueva de Compute Engine

  2. Especifica un nombre para tu instancia.

  3. En la sección Disco de arranque, selecciona una imagen de Container-Optimized OS

  4. Haz clic en Administración, seguridad, discos, redes, usuario único para expandir las opciones adicionales.

  5. En la pestaña Administración, desplázate hasta la sección Metadatos. Agrega una nueva entrada de metadatos, con Key como google-logging-enabled y Value como true.

  6. Si lo deseas, puedes especificar otras opciones para tu caso práctico. Consulta Crea y configura instancias para obtener más detalles.

  7. Haz clic en Crear para crear y, además, iniciar la instancia.

gcloud

Para ejecutar una instancia de Compute Engine en Container-Optimized OS con el agente de registro habilitado, usa el comando gcloud compute instances create y, además, incluye google-logging-enabled=true en los metadatos. Por ejemplo:

gcloud compute instances create instance-name \
    --image-family cos-stable \
    --image-project cos-cloud \
    --zone compute-zone \
    --metadata google-logging-enabled=true

Reemplaza lo siguiente:

  • instance-name por el nombre de tu instancia de VM.
  • compute-zone por la zona de procesamiento de tu instancia.

Para obtener más información sobre el comando gcloud, consulta la documentación de referencia de gcloud compute instances create. Para obtener más información sobre cómo crear instancias de Container-Optimized OS, consulta Crea y configura instancias.

Actualiza una instancia existente para habilitar o inhabilitar el agente de registro

Console

  1. Ve a la página Instancias de VM

    Ir a la página Instancias de VM

  2. Haz clic en el nombre de la instancia de Container-Optimized OS que deseas actualizar.

  3. En la barra superior de la página Detalles de la instancia de VM, haga clic en Editar.

  4. En la sección Metadatos personalizados agrega una entrada de metadatos nueva, con Clave como google-logging-enabled y Valor como true para habilitar o false para inhabilitarlo.

  5. Haz clic en Guardar.

gcloud

Para habilitar o inhabilitar el agente de registro en una instancia existente, usa el comando gcloud compute instances add-metadata:

gcloud compute instances add-metadata instance-name \
    --zone compute-zone \
    --metadata google-logging-enabled=enabled-value

Reemplaza lo siguiente:

  • enabled-value: true para habilitar, false para inhabilitar.
  • instance-name por el nombre de tu instancia de VM.
  • compute-zone por la zona de procesamiento de tu instancia.

Accede a los registros

Console

  1. Ve a la página Instancias de VM

    Ir a la página Instancias de VM

  2. Haz clic en el nombre de la instancia de Container-Optimized OS desde la que quieres acceder a los registros.

  3. En la sección Registros, haz clic en Cloud Logging.

  4. Esto abre el Explorador de registros para la instancia determinada. Para obtener más información, consulta Usa el Explorador de registros.

gcloud

Para acceder a los registros, usa el comando gcloud logging read. Por ejemplo:

gcloud logging read \
"resource.type=gce_instance AND resource.labels.instance_id=instance-id" \
    --limit 10 \
    --format json \
    --freshness 30d

Reemplaza lo siguiente:

  • instance-id: El ID de tu instancia de VM.

Este comando intenta leer los registros de la instancia de VM con instance-id, con un límite de 10 registros, en formato JSON, de los últimos 30 días.

Para obtener más información sobre el comando gcloud, consulta la documentación de referencia de gcloud logging read.

Limitaciones conocidas

Compatibilidad con el controlador gcplogs

A partir del evento 89, si el agente de registro incluido con Container-Optimized OS está habilitado y el controlador de registros de Docker gcplogs está habilitado para uno o más contenedores, son excesivos puede que el agente de registro incluido genere resultados. Esto puede generar ruido de registro o aumentar los cargos relacionados con Cloud Logging.

Una solución alternativa es no usar gcplogs como un controlador de registro de Docker y, en su lugar, usar el controlador predeterminado que configuró Container-Optimized OS. Ten en cuenta que el agente de registro incluido con Container-Optimized OS exportará registros de contenedor a Cloud Logging, por lo que no es necesario usar ambas soluciones de forma simultánea.