Escribir y consultar entradas de registro con gcloud CLI
En este documento se presentan algunas de las funciones de Cloud Logging y se explica cómo hacer lo siguiente:
- Escribe entradas de registro con Google Cloud CLI.
- Muestra las entradas de registro con gcloud CLI.
- Muestra las entradas de registro con la API Logging.
- Consulta y busca entradas de registro con el Explorador de registros.
Antes de empezar
Para completar esta guía de inicio rápido, debes tener un Google Cloud proyecto con la facturación habilitada. Si no tienes ningún Google Cloud proyecto o no has habilitado la facturación en tu Google Cloud proyecto, haz lo siguiente:- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
Para escribir una entrada de registro con datos no estructurados en el registro
my-test-log
, ejecuta el comandogcloud logging write
:gcloud logging write my-test-log "A simple entry."
Cuando se complete el comando, verás el mensaje
Created log entry
.Escribe una entrada de registro con datos estructurados en el registro
my-test-log
:gcloud logging write --payload-type=json my-test-log '{ "message": "My second entry", "weather": "partly cloudy"}'
Cuando escribas una entrada de registro con datos estructurados, debes incluir
--payload-type=json
. Si omite este campo, Logging interpretará la carga útil como datos sin estructurar.Ve a la página de referencia de la API del método de la API
entries.list
:Configura y ejecuta el comando de la API:
Sustituye PROJECT_ID en el siguiente texto:
"resourceNames": [ "projects/PROJECT_ID" ], "filter": "resource.type=global", "orderBy": "timestamp desc"
Copia el texto actualizado del paso anterior y pégalo en el campo Cuerpo de la solicitud del Explorador de APIs.
Haz clic en la opción para ejecutar.
El método devuelve una respuesta similar a la siguiente:
{ "entries": [ { "textPayload": "A simple entry", "insertId": "vd4m1if7h7u1a", "resource": { "type": "global", "labels": { "project_id": "myloggingproject" } }, "timestamp": "2018-11-01T18:39:19.718100792Z", "logName": "projects/myloggingproject/logs/my-test-log", "receiveTimestamp": "2018-11-01T18:39:19.718100792Z" }, { "insertId": "jpj9zjf73t1mn", "jsonPayload": { "message": "My second entry", "weather": "partly cloudy" }, "resource": { "type": "global", "labels": { "project_id": "myloggingproject" } }, "timestamp": "2018-11-01T18:39:31.114507977Z", "logName": "projects/myloggingproject/logs/my-test-log", "receiveTimestamp": "2018-11-01T18:39:31.114507977Z" } ] }
-
En la Google Cloud consola, ve a la página Explorador de registros:
Ve al Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Registro.
Asegúrate de que tu Google Cloud proyecto esté seleccionado en la Google Cloud barra de navegación. Si es necesario, usa la Google Cloud lista desplegable de proyectos para seleccionar tu Google Cloud proyecto.
En el menú Recurso, selecciona Global.
Si no ves la opción de menú Global o no ves tus entradas de registro, espera unos minutos y actualiza la página. Logging puede tardar unos minutos en recibir las entradas de registro.
Para ver los detalles de una entrada de registro, haz clic en su chevron_right menú.
La primera entrada de registro tiene sus datos almacenados en
textPayload
. La segunda entrada de registro contiene datos estructurados que se almacenan enjsonPayload
. La carga útil estructurada contiene las clavesmessage
yweather
.-
En la Google Cloud consola, ve a la página Explorador de registros:
Ve al Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Registro.
En el menú Recurso, selecciona Global.
En el editor de consultas, escribe la cadena
simple
entre comillas. En la pantalla de registros solo se muestra la entrada de registroA simple entry.
Después de ver el registro, quite la cadena de consulta que ha añadido y haga clic en Ejecutar consulta. Ambas entradas de registro vuelven a aparecer en la pantalla.
El editor de consultas contiene la línea
resource.type="global"
. Introduce el siguiente comando:jsonPayload.weather:partly
Haz clic en Realizar una consulta. El resultado es la entrada de registro única
My second entry
.Si hay errores tipográficos o nombres de campos desconocidos, los comandos de la interfaz de línea de comandos de gcloud se completarán con mensajes de argumento no válido. Por ejemplo, si olvidas el punto en
resource.type
, se produce el siguiente error:ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Field not found: 'resourcetype'.
Si no se han concedido los permisos de acceso necesarios a Cloud Logging, los comandos de la CLI de gcloud se completarán con mensajes de permiso denegado. Por ejemplo, si una instancia de VM de Compute Engine está configurada con los ajustes predeterminados de la API, el comando
list
se completa con un error de permiso denegado:ERROR: (gcloud.logging.read) PERMISSION_DENIED: Request had insufficient authentication scopes.
Para solucionar este problema, modifique los permisos de su instancia de VM de Compute Engine para conceder permiso de lectura a Cloud Logging. Para ello, siga estos pasos:
- Ve a la página Detalles de la instancia de VM de tu instancia de VM. Haz clic en Detener. Esta acción puede tardar un par de minutos en completarse.
- Para modificar la configuración, haz clic en Editar.
- Busca el encabezado Permisos de acceso a la API de Cloud y haz clic en Detalles para ver la configuración de cada API. Cambia la entrada de la API de Cloud Logging a Completo. Haz clic en Guardar.
- Para reiniciar la instancia de VM, haz clic en Iniciar. Al cabo de unos instantes, tu VM estará lista para usarse.
Si Explorador de APIs no puede completar tu comando o requiere autorización adicional, muestra un mensaje o un código de error:
- Código de respuesta 200 y sin entradas: si se muestra el mensaje
nextPageToken
, significa que Explorador de APIs no ha tenido tiempo de completar la búsqueda. Añada unpageToken
a su solicitud, asígnele el mismo valor que el de la clavenextPageToken
y vuelva a intentar ejecutar el comando. - Código de respuesta 400: el valor de la consulta no es válido. Por ejemplo, si escribes
global
comogloobal
, el mensaje seráUnsupported resource type: gloobal
. - Código de respuesta 404: el ID de proyecto no es válido. Comprueba que hayas escrito bien el identificador del proyecto.
- Puede que se te pida que inicies sesión en tu proyectoGoogle Cloud y que permitas que Explorador de APIs acceda a tu cuenta.
- Código de respuesta 200 y sin entradas: si se muestra el mensaje
(Opcional) Para eliminar las entradas de registro que has creado, ejecuta el siguiente comando:
gcloud
gcloud logging logs delete my-test-log
Si no eliminas las entradas de registro, caducarán y se eliminarán. Para obtener información sobre la conservación, consulta Cuotas y límites.
- Para obtener información sobre la interfaz de línea de comandos de Logging, consulta las páginas de referencia del grupo de comandos
gcloud logging
. - Para consultar la documentación de la API Logging, consulta la API de Cloud Logging.
- Para obtener información sobre el Explorador de registros, consulta el artículo Usar el Explorador de registros.
- Para saber cómo recoger entradas de registro de tus instancias de VM en Logging, consulta Agentes de observabilidad de Google Cloud.
Escribir entradas de registro con gcloud CLI
El registro admite entradas de registro con datos estructurados y no estructurados. Los datos estructurados constan de una estructura de datos JSON; por ejemplo, {"weather": "partly cloudy"}
. Los datos no estructurados son una cadena de caracteres, como "A simple entry"
.
En los pasos siguientes, usarás gcloud CLI para escribir una entrada de registro con datos no estructurados y otra con datos estructurados. La CLI de gcloud proporciona una interfaz de línea de comandos a la API de Cloud Logging.
Si el registro my-test-log
no existe, Logging lo crea cuando se recibe la entrada de registro.
Mostrar entradas de registro con gcloud CLI
Puedes obtener entradas de registro de Logging y mostrarlas con la CLI de gcloud. Por ejemplo, para recuperar y mostrar las entradas de registro con el tipo de recurso global
, ejecuta el siguiente comando:
gcloud logging read "resource.type=global"
El comando devuelve un resultado similar al siguiente:
---
insertId: jpj9zjf73t1mn
jsonPayload:
message: My second entry
weather: partly cloudy
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:31.114507977Z'
resource:
labels:
project_id: myloggingproject
type: global
timestamp: '2018-11-01T18:39:31.114507977Z'
---
insertId: vd4m1if7h7u1a
logName: projects/myloggingproject/logs/my-test-log
receiveTimestamp: '2018-11-01T18:39:19.718100792Z'
resource:
labels:
project_id: myloggingproject
type: global
textPayload: A simple entry
timestamp: '2018-11-01T18:39:19.718100792Z'
Para obtener información sobre cómo leer los registros, consulta la documentación de referencia de gcloud logging read
.
Listar entradas de registro con el Explorador de APIs
Para ejecutar métodos de la API Logging sin escribir código, consulta Usar el Explorador de APIs. Para leer una lista de entradas de registro de Logging, sigue estos pasos:
Ver entradas de registro en el explorador de registros
Para ver las entradas de registro en la consola, puedes usar el Explorador de registros. Google Cloud La mayoría de los proyectos Google Cloud almacenan un gran número de registros, por lo que puedes seleccionar determinadas entradas de registro escribiendo una consulta.
Para ver las entradas de registro que has escrito con el Explorador de registros, haz lo siguiente:
Para obtener información sobre el formato de datos de las entradas de registro, consulta el tipo LogEntry
.
Consultar entradas de registro en el explorador de registros
Puede consultar entradas de registro mediante el editor de consultas y, con los registros estructurados, por clave y valor. Por ejemplo, para mostrar todas las entradas de registro que contengan el texto simple
, haga lo siguiente:
Para mostrar todas las entradas de registro con datos estructurados que tengan la clave weather
donde el campo value
contenga partly
, haz lo siguiente:
Explorador de registros también ofrece consultas guardadas, sugeridas y recientes. Para obtener más información sobre las consultas, consulta el artículo Crear consultas en el Explorador de registros.
Para ver consultas de muestra, consulta Consultas de muestra con el Explorador de registros.
Solución de problemas
Limpieza
Para evitar que se apliquen cargos en tu Google Cloud cuenta por los recursos utilizados en esta página, elimina el Google Cloud proyecto con los recursos.