Escribe y consulta 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.
- Enumerar entradas de registro con gcloud CLI.
- Mostrar una lista de entradas de registro con la API de Logging
- Ver y consultar las entradas del registro mediante el explorador de registros
Antes de comenzar
Debes tener un proyecto de Google Cloud con la facturación habilitada para completar esta guía de inicio rápido. Si no tienes un proyecto de Google Cloud o no tienes la facturación habilitada para tu proyecto de Google Cloud, sigue estos pasos:- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Cómo comenzar
La CLI de gcloud tiene un grupo de comandos.
gcloud logging
, que proporcionan una interfaz de línea de comandos para la API de Cloud Logging.
Puedes usar el entorno de Cloud Shell o una máquina virtual de Compute Engine (VM) para los comandos de gcloud CLI en esta guía de inicio rápido. Gcloud CLI está preinstalada en el entorno de Cloud Shell.
Cloud Shell
Verifica que gcloud CLI esté configurada para usar el entorno Proyecto de Google Cloud:
En la consola de Google Cloud, haz clic en terminal Activar Cloud Shell.
Se abre Cloud Shell en una ventana y muestra una bienvenida mensaje. El mensaje de bienvenida replica el ID del proyecto configurado.
Si quieres usar un proyecto de Google Cloud diferente al que en el mensaje de bienvenida y, luego, ejecuta el siguiente comando Reemplaza PROJECT_ID por el ID del proyecto:
gcloud config set project PROJECT_ID
Para obtener el ID del proyecto, consulta Identifica proyectos.
Instancia de VM
Para crear una instancia de VM de Compute Engine en la consola de Google Cloud, sigue estos pasos:
En la consola de Google Cloud, selecciona Compute Engine y Luego, selecciona Instancias de VM.
Selecciona Crear instancia.
En Identidad y acceso a la API, en Permisos de acceso, selecciona Configurar el acceso para cada API
Desplázate por las APIs hasta que encuentres la API de Stackdriver Logging. Cambia el acceso a Completo.
Deja el resto de la configuración con sus valores predeterminados y haz clic en Crear. Tu instancia de VM está lista para usarse.
Haz clic en SSH para conectarte a la shell de tu instancia de VM. Después de un momento, se abre un shell de Debian GNU/Linux en una ventana y muestra un mensaje de bienvenida mensaje.
Ejecuta el siguiente comando para verificar que la CLI de gcloud esté configurada para tu proyecto de Compute Engine:
gcloud config list
Si quieres usar un proyecto de Google Cloud diferente, ejecuta el siguiente comando después de reemplazar PROJECT_ID por el ID de tu proyecto:
gcloud config set project PROJECT_ID
Para obtener el ID del proyecto, consulta Identifica proyectos.
Escribe entradas de registro con gcloud CLI
Logging 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 string de caracteres, por ejemplo, "A simple entry"
.
En los próximos pasos, usarás gcloud CLI para escribir una entrada de registro con
datos no estructurados y una entrada de registro con datos estructurados:
Escribe una entrada de registro con datos no estructurados en el registro
my-test-log
:gcloud logging write my-test-log "A simple entry."
Cuando el comando finalice, 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 escribes una entrada de registro con datos estructurados, debes incluir
--payload-type=json
. Si omites este campo, Logging interpretará la carga útil como datos no estructurados.
Si el registro my-test-log
no existe, Logging creará el registro cuando se reciba la entrada de registro.
Muestra una lista de entradas de registro con gcloud CLI
Puedes recuperar entradas de registro de Logging y mostrarlas
con gcloud CLI. Por ejemplo, para recuperar y mostrar el registro
entradas con un tipo de recurso de global
, ejecuta el siguiente comando:
gcloud logging read "resource.type=global"
El comando mostrará 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'
Mostrar una lista de entradas de registro con el Explorador de APIs
Para ejecutar métodos de la API de Logging sin escribir ningún código, consulta Cómo usar el Explorador de APIs Para leer una lista de entradas de registro desde Logging, haz lo siguiente:
Ve a la página de referencia de la API para obtener el método de la API de
entries.list
:Configura y ejecuta el comando de la API:
Reemplaza 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 Ejecutar.
El método muestra 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" } ] }
Visualiza entradas de registro en el Explorador de registros
Para ver entradas de registro en la consola de Google Cloud, puedes usar el Explorador de registros. La mayoría de los proyectos de Google Cloud almacenan una gran cantidad de registros. Para seleccionar ciertas entradas de registro, escribe una consulta.
Para ver las entradas de registro que escribiste con el Explorador de registros, sigue estos pasos:
-
En la consola de Google Cloud, ve a la página Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Asegúrate de que tu proyecto de Google Cloud esté seleccionado en Google Cloud barra de navegación. Si es necesario, usa la lista desplegable de proyectos de Google Cloud para seleccionar tu proyecto de Google Cloud.
En el menú Recurso, selecciona Global.
Si no ves la opción del menú Global o si no ves tu registro entradas de registro, espera unos minutos y actualiza la página. Es posible que Logging tarde 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 los datos almacenados en
textPayload
. El segundo registro contiene datos estructurados que se almacenan enjsonPayload
. La carga útil estructurada contiene las clavesmessage
yweather
.
Para obtener información sobre el formato de datos de las entradas de registro, consulta el tipo LogEntry
.
Consulta entradas de registro en el explorador de registros
Puedes consultar entradas de registro mediante el editor de consultas y, con registros estructurados, por clave y valor. Por ejemplo, para mostrar todas las entradas de registro que contienen el texto simple
, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
En el menú Recurso, selecciona Global.
En el editor de consultas, ingresa la cadena
simple
entre comillas. La pantalla de registros solo muestra la entrada de registroA simple entry.
Después de ver tu registro, quita la cadena de consulta que agregaste y Haz clic en Ejecutar consulta. Ambas entradas de registro volverán a aparecer en la pantalla.
Para mostrar todas las entradas de registro con datos estructurados que tienen una clave de weather
donde el campo value
contiene partly
, haz lo siguiente:
El editor de consultas contiene la línea
resource.type="global"
. Ingresa el siguiente comando:jsonPayload.weather:partly
Haz clic en Ejecutar consulta. El resultado es la única entrada de registro
My second entry
El Explorador de registros también ofrece consultas guardadas, sugeridas y recientes. Para obtener más información sobre las consultas, consulta Compila consultas en el Explorador de registros.
Para ver consultas de muestra, ve a Consultas de muestra con el Explorador de registros.
Soluciona problemas
Los errores tipográficos y los nombres de campos desconocidos hacen que los comandos de la CLI de gcloud se completen con mensajes de argumento no válido. Por ejemplo, si olvidas el período en
resource.type
, da como resultado el siguiente error:ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Field not found: 'resourcetype'.
Cuando Cloud Logging no tiene los permisos de acceso necesarios, los comandos de gcloud CLI con mensajes de permiso denegado. Por ejemplo, si una VM de Compute Engine se configura con la configuración de API predeterminada; luego, la
list
comando se completa con un error de permiso denegado:ERROR: (gcloud.logging.read) PERMISSION_DENIED: Request had insufficient authentication scopes.
Para corregir esta condición, modifica tu instancia de VM de Compute Engine para otorgar permiso de lectura de Cloud Logging mediante lo siguiente:
- Ve a la página Detalles de instancia de VM de tu instancia de VM. Haz clic en Detener. Esta acción podría tardar uno o dos minutos en completarse.
- Para modificar la configuración, haz clic en Editar.
- Busca el encabezado Permiso de acceso a la API de Cloud y haz clic en Detalles para mostrar la configuración de cada API. Cambia la entrada de la API de Cloud Logging a Completo. Haz clic en Guardar.
- Para reiniciar las instancias de VM, haz clic en Comenzar. Tras unos instantes, tu VM estará lista para que la uses.
Cuando el Explorador de API no puede completar tu comando o requiere autorización adicional, muestra un mensaje o código de error:
- Código de respuesta 200 y ninguna entrada: Si el mensaje
nextPageToken
es se muestra, indica que el Explorador de APIs no tuvo tiempo de completa la búsqueda. Agrega unpageToken
a tu solicitud, establece el valor para que sea el mismo que se ingresó con la clavenextPageToken
y vuelve a intentar ejecutar el comando. - Código de respuesta 400: el valor de la consulta no es válido. Por ejemplo, si escribes mal
global
comogloobal
, el mensaje seráUnsupported resource type: gloobal
. - Código de respuesta 404: el ID del proyecto no es válido. Controla la ortografía del identificador de tu proyecto.
- Es posible que debas acceder a tu proyecto de Google Cloud y permite que el Explorador de APIs acceda a tu cuenta.
- Código de respuesta 200 y ninguna entrada: Si el mensaje
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
(Opcional) Para borrar las entradas de registro que creaste, ejecuta el siguiente comando
gcloud
:gcloud logging logs delete my-test-log
Si no borras tus entradas de registro, expirarán y se eliminarán. Para obtener información sobre la retención, consulta Cuotas y límites.
¿Qué sigue?
- Para obtener detalles sobre la interfaz de línea de comandos de Logging, lee las páginas de referencia del grupo de comandos
gcloud logging
. - Para ver la documentación sobre la API de Logging, consulta API de Cloud Logging.
- Para obtener detalles sobre el Explorador de registros, consulta Usa el Explorador de registros.
- Para obtener información sobre cómo recopilar entradas de registro de tus instancias de VM en Logging, consulta Agentes de Google Cloud Observability.