Configura Cloud Logging para Go

Ofrecemos un paquete de registros estándar compatible con bibliotecas. Con la biblioteca de Cloud Logging para Go, se expone una capa de nivel superior a fin de trabajar con Cloud Logging.

No es necesario que el agente de Cloud Logging esté instalado para usar la biblioteca de Cloud Logging para Go en una instancia de VM de Compute Engine.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita Cloud Logging API.

    Habilita la API

  5. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Habilita Cloud Logging API.

    Habilita la API

Instala el paquete

go get cloud.google.com/go/logging

Usa el registrador de Go


// Sample stdlogging writes log.Logger logs to the Cloud Logging.
package main

import (
	"context"
	"log"

	"cloud.google.com/go/logging"
)

func main() {
	ctx := context.Background()

	// Sets your Google Cloud Platform project ID.
	projectID := "YOUR_PROJECT_ID"

	// Creates a client.
	client, err := logging.NewClient(ctx, projectID)
	if err != nil {
		log.Fatalf("Failed to create client: %v", err)
	}
	defer client.Close()

	// Sets the name of the log to write to.
	logName := "my-log"

	logger := client.Logger(logName).StandardLogger(logging.Info)

	// Logs "hello world", log entry is visible at
	// Cloud Logs.
	logger.Println("hello world")
}

Si deseas más información sobre la instalación, consulta la documentación de la biblioteca de Cloud Logging para Go. También puedes informar problemas con la herramienta de seguimiento de errores.

Escribe registros con la biblioteca cliente de Cloud Logging

Si deseas obtener información sobre cómo usar la biblioteca cliente de Cloud Logging para Go directamente, consulta Bibliotecas cliente de Cloud Logging.

Ejecutar en Google Cloud

Para que una aplicación escriba registros mediante la biblioteca de Cloud Logging para Go, la cuenta de servicio del recurso subyacente debe tener la función de IAM de escritor de registros (roles/logging.logWriter). La mayoría de los entornos de Google Cloud configuran automáticamente la cuenta de servicio predeterminada para que tenga esta función.

App Engine

Cloud Logging se habilita automáticamente para App Engine, y la cuenta de servicio predeterminada de tu app tiene los permisos de IAM de forma predeterminada para escribir entradas de registro.

Para obtener más información, consulta Escribe y visualiza registros.

Google Kubernetes Engine (GKE)

GKE otorga automáticamente a la cuenta de servicio predeterminada el rol de IAM de escritor de registros (roles/logging.logWriter). Si usas Workload Identity con esta cuenta de servicio predeterminada para permitir que las cargas de trabajo accedan a APIs de Google Cloud específicas, no se requiere ninguna configuración adicional. Sin embargo, si usas Workload Identity con una cuenta de servicio de IAM personalizada, asegúrate de que esta tenga la función de escritor de registros (roles/logging.logWriter).

Si es necesario, también puedes usar el siguiente comando para agregar el permiso de acceso logging.write cuando creas el clúster:

gcloud container clusters create example-cluster-name \
    --scopes https://www.googleapis.com/auth/logging.write

Compute Engine

Cuando uses las instancias de VM de Compute Engine, agrega el permiso de acceso cloud-platform a cada instancia. Cuando crees una instancia nueva a través de la consola de Google Cloud, puedes hacerlo en la sección Identidad y acceso a la API del panel Crear instancia. Usa la cuenta de servicio predeterminada de Compute Engine o una cuenta de servicio diferente y selecciona Permitir acceso total a las API de Cloud en la sección Identidad y acceso a la API. Sin importar la cuenta de servicio que selecciones, asegúrate de que se le haya otorgado el rol de escritor de registros en la sección IAM y administración de la consola de Google Cloud.

Ejecuta de manera local y en otros lugares

Si quieres usar la biblioteca de Cloud Logging para Go fuera de Google Cloud, lo que incluye ejecutar la biblioteca en tu propia estación de trabajo, en las computadoras del centro de datos o en las instancias de VM de otro proveedor de servicios en la nube, debes proporcionar el ID del proyecto de Google Cloud y las credenciales de la cuenta de servicio adecuadas directamente a la biblioteca de Cloud Logging para Go.

Para las cuentas de servicio existentes, haz lo siguiente:

  1. Otorga a la cuenta de servicio el rol de IAM de Escritor de registros (roles/logging.logWriter) de IAM. Para obtener más información sobre las funciones de IAM, consulta Control de acceso.

  2. Configura las credenciales predeterminadas de la aplicación.

Si no tienes una cuenta de servicio, crea una. Para obtener información sobre este proceso, consulta Crea cuentas de servicio.

Si deseas obtener información general sobre los métodos que puedes usar para la autenticación, consulta Terminología: cuentas de servicio.

Consulta los registros

En el panel de navegación de la consola de Google Cloud, elige Logging y, luego, Explorador de registros:

Ir al Explorador de registros

En el Explorador de registros, debes especificar uno o más recursos, aunque la selección de recursos puede no ser obvia. Aquí encontrarás algunas sugerencias que te ayudarán a comenzar:

  • Si implementas tu aplicación en App Engine o utilizas las bibliotecas específicas de App Engine, configura tu recurso como Aplicación de GAE.

  • Si implementas tu aplicación en Compute Engine, configura el recurso como Instancia de VM de GCE.

  • Si implementas tu aplicación en Google Kubernetes Engine, la configuración de registro de tu clúster determina el tipo de recurso de las entradas de registro. Para obtener un análisis detallado de las soluciones de Kubernetes Monitoring de observabilidad y observabilidad de Google Cloud heredadas, y cómo esas opciones afectan el tipo de recurso, consulta Migra a Google Cloud Observability Monitoring Kubernetes Monitoring.

  • Si la aplicación usa la API de Cloud Logging directamente, el recurso depende de la API y de tu configuración. Por ejemplo, en la aplicación, puedes especificar un recurso o usar un recurso predeterminado.

  • Si no ves ningún registro en el Explorador de registros, cambia al modo de consulta avanzada y usa una consulta vacía para ver todas las entradas de registro.

    1. Para cambiar al modo de consulta avanzada, haz clic en menú (▾) en la parte superior del visor de registros y selecciona Convertir a filtro avanzado.
    2. Borra el contenido que aparece en el cuadro de filtro.
    3. Haz clic en Enviar filtro.

    Puedes examinar las entradas individuales para identificar tus recursos.

Para obtener más información, consulta Usa el Explorador de registros.