GSP1088
Descripción general
Cloud Logging es un servicio completamente administrado que te permite almacenar, buscar, analizar y supervisar los datos y eventos de registro desde Google Cloud, así como generar alertas sobre ellos.
En este lab, conocerás las funciones y herramientas que ofrece Cloud Logging para obtener estadísticas de tus aplicaciones.
Qué aprenderás
En este lab, aprenderás a hacer lo siguiente:
- Usar Cloud Logging de forma eficaz y obtener estadísticas de las aplicaciones que se ejecutan en Google Kubernetes Engine (GKE)
- Crear y ejecutar consultas de manera eficaz con el Análisis de registros
La aplicación de demostración que se usa en el lab
En este lab, trabajarás en una situación basada en esta app de demostración de microservicios implementada en un clúster de GKE. Esta app de demostración tiene muchos microservicios y dependencias incorporados.
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
Haz clic en Activar Cloud Shell
en la parte superior de la consola de Google Cloud.
-
Haz clic para avanzar por las siguientes ventanas:
- Continúa en la ventana de información de Cloud Shell.
- Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
- Haz clic en Autorizar.
Resultado:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project
Resultado:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.
Tarea 1: Configura la infraestructura
Verifica el clúster de GKE
Conéctate a un clúster de GKE y verifica que se haya creado correctamente.
- En Cloud Shell, configura la zona usando el comando
gcloud:
gcloud config set compute/zone {{{project_0.default_zone|placeholder}}}
- Usa el siguiente comando para ver el estado del clúster:
gcloud container clusters list
Deberías ver un estado similar al que se muestra aquí:
NAME: day2-ops
LOCATION: us-west1
MASTER_VERSION: 1.31.5-gke.1023000
MASTER_IP: 34.169.197.173
MACHINE_TYPE: e2-standard-2
NODE_VERSION: 1.31.5-gke.1023000
NUM_NODES: 3
STATUS: RUNNING
El estado del clúster debe ser RUNNING. Si estado sigue siendo PROVISIONING, espera un momento y vuelve a ejecutar el comando anterior. Repite estos pasos hasta que el estado sea RUNNING.
También puedes verificar el progreso en la consola de Google Cloud. En el menú de navegación (
), haz clic en Kubernetes Engine > Clústeres.
- Cuando el estado del clúster sea RUNNING, obtén sus credenciales:
gcloud container clusters get-credentials day2-ops --region {{{project_0.default_region|placeholder}}}
El resultado debería ser similar al siguiente:
Fetching cluster endpoint and auth data.
kubeconfig entry generated for day2-ops.
- Verifica si se crearon los nodos:
kubectl get nodes
El resultado debería ser similar al siguiente:
NAME STATUS ROLES AGE VERSION
gke-day2-ops-day2-ops-node-pool-0d9c7ef3-xc44 Ready <none> 11m v1.31.5-gke.1023000
gke-day2-ops-day2-ops-node-pool-b17ac6d6-tch7 Ready <none> 11m v1.31.5-gke.1023000
gke-day2-ops-day2-ops-node-pool-ed506ae8-wsc5 Ready <none> 11m v1.31.5-gke.1023000
Tarea 2: Implementa la aplicación
A continuación, implementarás una aplicación de microservicios llamada Online Boutique en tu clúster para crear una carga de trabajo real que se pueda supervisar.
- Ejecuta el siguiente comando para clonar el repo:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
- Navega al directorio
microservices-demo:
cd microservices-demo
- Instala la app con
kubectl:
kubectl apply -f release/kubernetes-manifests.yaml
- Confirma que todo funcione de forma correcta:
kubectl get pods
El resultado debería ser similar al que aparece abajo. Antes de continuar con el paso siguiente, vuelve a ejecutar el comando hasta que todos los Pods tengan el estado Running.
NAME READY STATUS RESTARTS AGE
adservice-55f94cfd9c-4lvml 1/1 Running 0 20m
cartservice-6f4946f9b8-6wtff 1/1 Running 2 20m
checkoutservice-5688779d8c-l6crl 1/1 Running 0 20m
currencyservice-665d6f4569-b4sbm 1/1 Running 0 20m
emailservice-684c89bcb8-h48sq 1/1 Running 0 20m
frontend-67c8475b7d-vktsn 1/1 Running 0 20m
loadgenerator-6d646566db-p422w 1/1 Running 0 20m
paymentservice-858d89d64c-hmpkg 1/1 Running 0 20m
productcatalogservice-bcd85cb5-d6xp4 1/1 Running 0 20m
recommendationservice-685d7d6cd9-pxd9g 1/1 Running 0 20m
redis-cart-9b864d47f-c9xc6 1/1 Running 0 20m
shippingservice-5948f9fb5c-vndcp 1/1 Running 0 20m
- Ejecuta los siguientes comandos para obtener la IP externa de la aplicación.
export EXTERNAL_IP=$(kubectl get service frontend-external -o jsonpath="{.status.loadBalancer.ingress[0].ip}")
echo $EXTERNAL_IP
Solo se devuelve una dirección IP si el servicio se implementó. Es posible que debas repetir los comandos hasta que haya una dirección IP externa asignada.
Cuando se asigne la dirección IP, el resultado debería ser similar al siguiente:
35.222.235.86
- Por último, confirma que la app se esté ejecutando:
curl -o /dev/null -s -w "%{http_code}\n" http://${EXTERNAL_IP}
La confirmación se verá de la siguiente manera:
200
Después de que se haya implementado la aplicación, puedes consultar el estado en la consola.
-
En el panel izquierdo de la página de Kubernetes Engine, haz clic en Cargas de trabajo para ver que todos los Pods estén correctos.
-
En el panel izquierdo, haz clic en Puertas de enlace, Ingress y Service, y, luego, en la pestaña Servicios, y comprueba que todos los servicios muestren el estado Sin errores.
Abre la aplicación
En Puertas de enlace, Ingress y Service > Servicios, haz clic en la IP del extremo del servicio frontend-external.
Debería abrirse una página web de demostración similar a la siguiente:
Nota: Es posible que debas hacer clic en el botón "Continuar al sitio" si se te solicita.
Haz clic en Revisar mi progreso para verificar el objetivo.
Implementar la aplicación
Tarea 3: Administra buckets de registros
Existen dos formas de habilitar el Análisis de registros: actualizar un bucket existente y crear un bucket de registros nuevo que tenga la herramienta habilitada.
Actualiza un bucket existente
Puedes seguir los pasos que se indican a continuación para actualizar un bucket de registros existente.
-
En el menú de navegación (
) de la consola, haz clic en Ver todos los productos > Observabilidad > Registro. Haz clic en Favorito para acceder a esta opción con más facilidad en etapas posteriores del lab.
-
Haz clic en Almacenamiento de registros.
-
Haz clic en Actualizar en un bucket existente, como Default bucket.
-
Haz clic en Actualizar en el diálogo de confirmación.
-
Espera a que el estado cambie a Se actualizó.
-
Haz clic en Abrir y selecciona la vista _AllLogs.
Se abrirá la página del Análisis de registros.
Crea un bucket de registros nuevo
Puedes seguir los pasos que se indican a continuación para crear un bucket de registros nuevo.
-
En el panel izquierdo, haz clic en Almacenamiento de registros y, luego, en Crear bucket de registros en la parte superior de la ventana Almacenamiento de registros.
-
Ingresa un nombre para el bucket, como day2ops-log.
-
Marca las opciones Actualiza para usar el Análisis de registros y Crear un nuevo conjunto de datos de BigQuery que se vincule a este bucket.
-
Ingresa un nombre para el conjunto de datos de BigQuery, como day2ops_log.
-
En el campo Región, selecciona la opción Global.
Si seleccionas Crear un conjunto de datos vinculado en BigQuery, se creará un conjunto de datos en BigQuery en el caso de que no haya uno. Esto te permitirá ejecutar consultas en BigQuery.
- Haz clic en Crear bucket para crear el bucket de registros.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un bucket de registros
Escribe en el nuevo bucket de registros
Hay dos formas de crear un receptor de registros para enrutar las entradas de registro al nuevo bucket de registros:
- Directamente desde el Enrutador de registros
- Desde el Explorador de registros. Puedes ejecutar consultas para seleccionar y filtrar los registros que quieres ver cuando crees un receptor. La ventaja de este enfoque es que la consulta de los registros se copia automáticamente en la configuración del receptor como filtro
-
Haz clic en Explorador de registros en el panel izquierdo.
-
En la parte superior derecha, habilita Mostrar consulta y ejecuta la siguiente consulta en el campo correspondiente:
resource.type="k8s_container"
-
Haz clic en Acciones > Crear receptor.
-
En el nombre del receptor, escribe day2ops-sink.
-
Haz clic en Siguiente.
-
Selecciona el bucket de Logging de la lista desplegable de servicios del receptor.
-
Selecciona el nuevo bucket de registros que creaste.
Tu nuevo bucket de registros debería ser similar a este:
projects/qwiklabs-gcp-00-xxxxxxx/locations/global/buckets/day2ops-log
- Haz clic en Siguiente.
Deberías ver la consulta de tipos de recursos en el filtro.
- Haz clic en Crear receptor.
Espera un minuto para que se cree tu receptor.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear el receptor de registros
Lee desde el nuevo bucket de registros
En el panel izquierdo, ve al Explorador de registros. Observa que en la lista Campos, en la sección Tipo de recurso, hay diversos tipos de recursos para los registros.
-
Para ver los registros en el nuevo bucket de registros, en la parte superior izquierda de la ventana del Explorador de registros, haz clic en Registros del proyecto > Vista de registro > el nuevo bucket de registros (que acabas de crear).
-
Haz clic en Aplicar.
Verás que Contenedores de Kubernetes ahora es el único tipo de recurso y que hay menos entradas de registro. Eso se debe a que solo se envían los registros filtrados al bucket.
Tarea 4: Análisis de registros
- En el panel izquierdo, haz clic en Análisis de registros para abrir la página correspondiente.
Si el campo de consulta está vacío o no recuerdas qué tabla usar, haz clic en el botón Ejecutar consulta para recuperar la consulta de muestra.
Puedes ejecutar tus propias consultas en el campo correspondiente. En esta tarea, se proporcionan algunos ejemplos.
Importante: El nombre de la vista del registro en la cláusula FROM es diferente a los buckets de registros. Asegúrate de usar el nombre de la vista correcto. Puedes usar el paso anterior para verificarlo.
Consulta de ejemplo para encontrar la latencia mínima, máxima y promedio
En el panel derecho, selecciona <> SQL. Haz clic en el botón Borrar para quitar cualquier contenido existente del editor de consultas. Pega la consulta en el editor y, luego, selecciona Ejecutar consulta para recuperar los errores más recientes de los contenedores.
Usa esta consulta para ver las latencias mínima, máxima y promedio del servicio de frontend durante un plazo determinado:
SELECT
hour,
MIN(took_ms) AS min,
MAX(took_ms) AS max,
AVG(took_ms) AS avg
FROM (
SELECT
FORMAT_TIMESTAMP("%H", timestamp) AS hour,
CAST( JSON_VALUE(json_payload,
'$."http.resp.took_ms"') AS INT64 ) AS took_ms
FROM
`{{{project_0.project_id | "PROJECT_ID"}}}.global.day2ops-log._AllLogs`
WHERE
timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR)
AND json_payload IS NOT NULL
AND SEARCH(labels,
"frontend")
AND JSON_VALUE(json_payload.message) = "request complete"
ORDER BY
took_ms DESC,
timestamp ASC )
GROUP BY
1
ORDER BY
1
Consulta de ejemplo para encontrar la cantidad de visitas a una página de producto
Usa esta consulta para conocer la cantidad de veces que los usuarios visitaron una página de producto determinada en la última hora:
SELECT
count(*)
FROM
`{{{project_0.project_id | "PROJECT_ID"}}}.global.day2ops-log._AllLogs`
WHERE
text_payload like "GET %/product/L9ECAV7KIM %"
AND
timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
Consulta de ejemplo para encontrar la cantidad de sesiones que terminan con la confirmación de compra del carrito
Usa la consulta para averiguar cuántas sesiones terminan con una confirmación de la compra (llamada POST al servicio /cart/checkout):
SELECT
JSON_VALUE(json_payload.session),
COUNT(*)
FROM
`{{{project_0.project_id | "PROJECT_ID"}}}.global.day2ops-log._AllLogs`
WHERE
JSON_VALUE(json_payload['http.req.method']) = "POST"
AND JSON_VALUE(json_payload['http.req.path']) = "/cart/checkout"
AND timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
GROUP BY
JSON_VALUE(json_payload.session)
¡Felicitaciones!
Ahora tienes experiencia en el uso de Cloud Logging para obtener estadísticas de las aplicaciones que se ejecutan en GKE, y puedes crear y ejecutar consultas con el Análisis de registros.
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Actualización más reciente del manual: 15 de enero de 2026
Prueba más reciente del lab: 15 de enero de 2026
Copyright 2026 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.