Cloud Logging

En esta página, se explica cómo usar Cloud Logging para recopilar y consultar registros de los clústeres de Google Kubernetes Engine (GKE).

Descripción general

Cuando Logging está habilitado en tu clúster, los registros se almacenan en un almacén de datos dedicado y persistente. Tu proyecto de Google Cloud tiene varios registros que son relevantes para un clúster de GKE. Estos incluyen los registros de actividad del administrador, de acceso a los datos y de acontecimientos.

Un registro es una colección de entradas de registro, y cada entrada se aplica a un tipo de recurso. Estos son los tipos de recursos más relevantes para los clústeres de GKE:

Tipo de recurso Nombre visible
k8s_cluster Clúster de Kubernetes
gke_cluster Operaciones del clúster de GKE
gke_container Contenedor de GKE
gke_nodepool Operaciones del grupo de nodos de GKE

Para obtener información detallada sobre las entradas de registro que se aplican a los tipos de recursos de las operaciones con clústeres de Kubernetes y de GKE, consulta Registro de auditoría.

Si bien GKE almacena los registros, no lo hace de forma permanente. Por ejemplo, los registros de contenedor de GKE se borran cuando se quita el pod de host, cuando el disco en el que están almacenados se queda sin espacio o cuando son reemplazados por registros más nuevos. Los registros del sistema se quitan periódicamente a fin de liberar espacio para nuevos registros. Los eventos de clústeres se quitan después de una hora.

Para los registros de contenedores y sistemas, GKE implementa un agente de registros por nodo que lee los registros de contenedores, agrega metadatos útiles y luego los almacena. El agente de registros busca registros de contenedor en las siguientes fuentes:

  • Registros de salida y de error estándar de procesos en contenedores
  • kubelet y registros del entorno de ejecución del contenedor
  • Registros para los componentes del sistema, como las secuencias de comandos de inicio de VM

Para los eventos, GKE usa una implementación en el espacio de nombres kube-system que recopila los eventos automáticamente y los envía a Logging.

Logging es compatible con el formato JSON. Los registros se almacenan durante hasta 30 días.

Antes de comenzar

Sigue estos pasos a fin de prepararte para esta tarea:

  • Asegúrate de que habilitaste la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Asegúrate de que instalaste el SDK de Cloud.
  • Establece tu ID del proyecto predeterminado:
    gcloud config set project [PROJECT_ID]
  • Si trabajas con clústeres zonales, establece tu zona de procesamiento predeterminada:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Si trabajas con clústeres regionales, establece tu región de procesamiento predeterminada:
    gcloud config set compute/region [COMPUTE_REGION]
  • Actualiza gcloud a la versión más reciente:
    gcloud components update

Habilita Logging

Puedes crear un clúster con Logging habilitado o habilitar Logging en un clúster existente.

Crea un clúster con Logging

gcloud

Cuando creas un clúster, la marca --enable-cloud-logging se configura automáticamente, lo cual habilita Logging en el clúster.

Para inhabilitar este comportamiento predeterminado, configura la marca --no-enable-cloud-logging.

Console

  1. En Cloud Console, ve a la página Kubernetes Engine > Clústeres de Kubernetes:

    Ir a Clústeres de Kubernetes

  2. Haz clic en Crear clúster.

  3. Configura el clúster según sea necesario.

  4. Haz clic en Opciones avanzadas. En la sección Funciones adicionales, habilita Habilitar el servicio de Stackdriver Logging.

  5. Haz clic en Crear.

Habilita Logging en un clúster existente

gcloud

Para habilitar Logging en un clúster existente, ejecuta el siguiente comando, en el cual [CLUSTER_NAME] es el nombre del clúster.

gcloud container clusters update [CLUSTER_NAME] --logging-service logging.googleapis.com

Console

  1. En Cloud Console, ve a la página Kubernetes Engine > Clústeres de Kubernetes:

    Ir a Clústeres de Kubernetes

  2. Haz clic en Editar .

  3. Configura el valor desplegable de Stackdriver Logging en Habilitado.

  4. Haz clic en Guardar.

Visualiza los registros

Podrás ver los registros en el Visor de registros de Stackdriver de Google Cloud Console.

A fin de obtener más información sobre la visualización de registros, incluido cómo crear consultas básicas y avanzadas, consulta Visualiza los registros en la documentación sobre Logging.

Ejemplos de consultas

  • Registros de consultas de pods con la etiqueta nginx-deployment:

    resource.type="container"
    resource.labels.pod_id:"nginx-deployment-"
  • Registros de consultas en el espacio de nombres prod con gravedad WARNING o superior:

    resource.type="container"
    resource.labels.namespace_id="prod"
    severity>WARNING

    Para obtener más información sobre los niveles de gravedad, consulta Log Severity.

  • Registros de consultas de un contenedor específico, my-container, en un pod específico, my-pod, con una carga útil de texto:

    resource.type="container"
    resource.labels.container_name="my_container"
    resource.labels.pod_id="my_pod"
    textPayload:"abracadabra"

Limitaciones

Es posible que las entradas de varias líneas (entradas con caracteres de salto de línea) no se procesen correctamente. Para evitar este problema, une tus registros en strings JSON de una sola línea.

Inhabilita el registro

gcloud

Para inhabilitar Logging y Monitoring heredados en un clúster existente, ejecuta el siguiente comando, en el que [CLUSTER_NAME] es el nombre del clúster.

gcloud beta container clusters update [CLUSTER_NAME] --logging-service none

Si ejecutas operaciones en la nube para GKE en tu clúster, debes inhabilitar Monitoring y Logging mediante gcloud beta a fin de establecer las siguientes marcas en el clúster:

gcloud beta container clusters update [CLUSTER_NAME] --logging-service none --monitoring-service none

Console

  1. En Cloud Console, ve a la página Kubernetes Engine > Clústeres de Kubernetes:

    Ir a Clústeres de Kubernetes

  2. Haz clic en Editar en el clúster que deseas cambiar.

  3. Establece el valor desplegable de Stackdriver Logging en Inhabilitado.

  4. Haz clic en Guardar.

Próximos pasos