En esta guía de inicio rápido, se presenta Error Reporting y se te muestra cómo hacer lo siguiente:
- Implementar una aplicación de Python para App Engine con Cloud Shell
- Ver un error en tu aplicación con Error Reporting
- Configurar Error Reporting para enviar notificaciones
Prueba el instructivo interactivo de tres minutos en Google Cloud Console.
Haz clic en Iniciar en la columna Introducción de Error Reporting.
Antes de comenzar
- Accede a tu Cuenta de Google.
Si todavía no tienes una cuenta, regístrate para obtener una nueva.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Comprueba que la facturación esté habilitada en tu proyecto.
- Abre Cloud Shell para tu proyecto. Mientras se inicia, se muestra el mensaje Conectando.
Comenzar
En esta sección descargarás y, luego, implementarás una aplicación de App Engine:
Descarga y configura la aplicación desde el proyecto de GitHub python-docs-samples:
Clona el proyecto en Cloud Shell:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Git muestra un mensaje similar al siguiente:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples Cloning into 'python-docs-samples'...
Crea un entorno aislado de Python y actívalo:
cd python-docs-samples/appengine/standard_python3/hello_world virtualenv env -p python3 source env/bin/activate
Instala las dependencias:
pip install -r requirements.txt
Verifica que la aplicación se instale y configure correctamente:
Ejecuta la aplicación:
python main.py
Para ver la aplicación en una página web local, haz clic en el vínculo que se muestra en Cloud Shell. En la página web, se muestra
Hello World!
.Para detener la aplicación en ejecución, ingresa
Ctrl-C
en Cloud Shell.
Sube tu aplicación a App Engine:
gcloud app deploy
Si se requiere una región de implementación, selecciona una cercana. Cuando se indique, ingresa
Y
si deseas continuar. Después de unos instantes, se completa la carga.Observa tu aplicación en el navegador ejecutando el siguiente comando en Cloud Shell:
gcloud app browse
Si el SDK de Cloud no puede encontrar tu navegador, el comando anterior muestra un mensaje de error y un vínculo. Haz clic en el vínculo que se muestra. Se muestra el mensaje
Hello, World!
en el navegador.
Ingresa un error
En los siguientes pasos, crea un error para que Error Reporting detecte y muestre.
Edita
main.py
y cambiareturn 'Hello World!
a
return 'Hello World!' + 1000
Cuando se ejecuta, este cambio genera una excepción
TypeError
de Python porque es ilegal concatenar una string y un número entero.Sube la aplicación modificada a App Engine:
gcloud app deploy
Regresa a la pestaña del navegador que contiene la aplicación en ejecución y vuelve a cargar la página. Debido al cambio, en la página se muestra un mensaje de error en lugar de
Hello, World!
:Internal Server Error The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Si no ves este mensaje, espera un minuto y vuelve a cargarla. Es posible que la versión nueva tarde unos minutos para activarse.
Observa el error en Error Reporting
El mensaje de error que se muestra en la página web no es muy útil porque no proporciona suficientes detalles para resolver el problema. Sin embargo, si utilizas Error Reporting, puedes obtener información detallada sobre el error y la cantidad de veces que ocurrió:
Ve a Error Reporting
El panel de Error Reporting muestra un resumen de cada error encontrado y la cantidad de casos de cada error. De forma predeterminada, Error Reporting vuelve a cargar automáticamente la lista de errores cada 5 segundos. Para forzar una carga inmediata, haz clic en Volver a cargar automáticamente.
Para esta guía de inicio rápido, en el panel se muestra un error con la descripción
"TypeError: can only concatenate str (not "int") to str"
. Es posible que debas esperar un minuto y actualizar la página para ver el error.Vuelve a cargar la aplicación en el navegador para generar el mismo error.
Debido a que el seguimiento de pila del error nuevo es similar al primer error, Error Reporting los agrupa en lotes actualizando la cantidad de casos y el grafo de tiempo:
Para ver la página de detalles de errores, que contiene toda la información disponible sobre un error, incluidos los vínculos al código fuente, haz clic en el nombre del error.
Configura las notificaciones
Puedes configurar Error Reporting para que envíe notificaciones cuando surge un tipo de error nuevo. Las notificaciones no se envían cuando hay casos nuevos de errores existentes.
Ve a Error Reporting
Para habilitar las notificaciones por correo electrónico, haz clic en Más more_vert y selecciona Activar las notificaciones de errores nuevos para el proyecto en la lista desplegable.
En
main.py
, cambiareturn 'Hello World!` + 1000
a
return 'Hello World!'.punctuate()
Cuando se ejecuta, este cambio genera una excepción
AttributeError
de Python porque el atributopunctuate()
no existe.Sube el archivo modificado a App Engine:
gcloud app deploy
Vuelve a cargar la aplicación en el navegador para generar el error nuevo.
El navegador muestra el mensaje
Internal Server Error
.En el panel de Error Reporting, se muestra un error con la descripción
"AttributeError: 'str' object has no attribute 'punctuate'
.Tu correo electrónico incluye una notificación nueva que contiene detalles sobre el error, incluido lo siguiente:
- ID del proyecto
- Una descripción del error, en este caso, incluye
"AttributeError: 'str' object has no attribute 'punctuate'
. - Servicio
- Versión de la aplicación
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta guía de inicio rápido.
- En Cloud Console, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
¿Qué sigue?
Lee nuestros recursos sobre DevOps y explora nuestro programa de investigación.