Verifica si una app falló debido a errores con Error Reporting
Puedes usar Error Reporting para ver, clasificar y solucionar problemas de fallas de aplicaciones, lo que ayuda a tu equipo a identificar problemas y resolver errores antes de que afecten a los usuarios.
En esta guía de inicio rápido, simularás condiciones de error en un Google Cloud proyecto, verás los detalles de los errores en la Google Cloud consola y configurarás notificaciones para recibir alertas cuando se produzcan errores nuevos.
Para seguir la guía paso a paso sobre esta tarea directamente en la Google Cloud consola, haz clic en Guiarme:
Antes de comenzar
- Accede a tu Google Cloud cuenta de. 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.
-
In the Google Cloud console, on the project selector page, select or create 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify 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.
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Abre Cloud Shell para tu Google Cloud proyecto. Mientras se inicia, se muestra el mensaje Conectando.
- Configura tu dirección de correo electrónico como un canal de notificaciones compatible.
Simular un error
Para generar 11 errores de muestra, ejecuta la siguiente secuencia de comandos en Cloud Shell:
COUNTER=0 while [ $COUNTER -lt 11 ]; do gcloud beta error-reporting events report --service tutorial --service-version v$((COUNTER/10+1)) \ --message "java.lang.RuntimeException: Error rendering template $COUNTER at com.example.TestClass.test(TestClass.java:51) at com.example.AnotherClass(AnotherClass.java:25) at javax.servlet.http.HttpServlet.service (HttpServlet.java:617) at javax.servlet.http.HttpServlet.service (HttpServlet.java:717)" if [ $COUNTER -eq 10 ]; then echo "All sample errors reported." fi let COUNTER=COUNTER+1 doneCuando la secuencia de comandos termina de generar todos los errores, imprime la siguiente línea:
All sample errors reported.
Observa los errores en Error Reporting
-
En la Google Cloud consola, ve a la página Error Reporting.
También puedes usar la barra de búsqueda para encontrar esta página.
En el panel de Error Reporting, se muestra un resumen de cada error encontrado y la cantidad de casos de cada uno. Cuando la carga automática está activada, Error Reporting vuelve a cargar automáticamente la lista de errores cada 10 segundos.
En la siguiente captura de pantalla, se muestra una página de ejemplo de Error Reporting:
Haz clic en el nombre del error para ver la página de detalles de errores, que contiene toda la información disponible sobre un error. Si Gemini está habilitado en el proyecto, puedes usarlo para obtener sugerencias de solución de problemas.
Configurar 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.
-
En la Google Cloud consola, ve a la página Error Reporting.
También puedes usar la barra de búsqueda para encontrar esta página.
Para habilitar las notificaciones por correo electrónico, haz clic en Configurar las notificaciones.
En el menú Canales de notificaciones , selecciona tu dirección de correo electrónico y, luego, Guardar.
Para generar nuevos tipos de errores, haz clic en terminal Activar Cloud Shell y ejecuta la siguiente secuencia de comandos:
COUNTER=0 while [ $COUNTER -lt 3 ]; do gcloud beta error-reporting events report --service tutorial --service-version v1 \ --message "java.lang.ArrayIndexOutOfBoundsException: $COUNTER at com.example.AppController.createUser(AppController.java:42) at com.example.User(User.java:31) at javax.servlet.http.HttpServlet.service (HttpServlet.java:617) at javax.servlet.http.HttpServlet.service (HttpServlet.java:717)" let COUNTER=COUNTER+1 done echo "All sample errors reported."Cuando la secuencia de comandos termina de generar todos los errores, imprime la siguiente línea:
All sample errors reported.Busca en tu correo electrónico un mensaje de “Notificaciones de Stackdriver”.
Genera mensajes de error desde una app de App Engine
Los mensajes de muestra que generan las secuencias de comandos anteriores simulan condiciones de error. Para generar errores desde un servicio activo que se ejecuta en tu Google Cloud proyecto, sigue los pasos de esta sección.
Implementar una app
Para descargar y también implementar una aplicación en App Engine, haz lo siguiente:
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-Cen 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
Ysi 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 Google Cloud CLI 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.
Genera un error
Para crear un error que Error Reporting detecte y muestre, haz lo siguiente:
Edita
main.pyy cambiareturn 'Hello World!
a
return 'Hello World!' + 1000
Cuando se ejecuta, este cambio genera una excepción
TypeErrorde 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
Para ver el error, sigue las instrucciones de la sección anterior Visualiza los errores en Error Reporting.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página.
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que deseas borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo.