Error Reporting te permite agregar fallas y diagnosticar excepciones de tiempo de ejecución de tus aplicaciones de Compute Engine. Puedes enviar datos de errores transmitiendo registros a Cloud Logging o llamando directamente a la API de Error Reporting. Si usas Logging, tus entradas de registro deben cumplir con los requisitos de formato.
Usa Logging para informar sobre errores
Para conectar tus aplicaciones de Compute Engine a Error Reporting, envía tus excepciones o cualquier otro error a Logging con uno de los siguientes agentes:
Agente de operaciones
Para configurar Error Reporting para que use el Agente de operaciones, completa los siguientes pasos:
Instala el Agente de operaciones según corresponda a tu entorno. Para obtener instrucciones, consulta Instala el Agente de operaciones.
Configura el Agente de operaciones para recopilar los registros de tu aplicación y darles el formato adecuado.
Para aplicaciones de terceros compatibles: El Agente de operaciones proporciona receptores de registros preconfigurados que capturan y analizan automáticamente las entradas de registro en formatos estructurados que reconoce Error Reporting. Para obtener información sobre las aplicaciones de terceros compatibles, consulta Supervisa aplicaciones de terceros.
Para aplicaciones personalizadas: Configura un receptor de registros para especificar las ubicaciones de tus archivos de registro y vincúlalo con uno de los siguientes procesadores:
- Usa un procesador
parse_multilinesi tu app escribe seguimientos de pila de texto sin formato en varias líneas. - Usa un procesador
parse_jsonsi tu app escribe registros como cadenas JSON.
Si deseas obtener instrucciones detalladas, consulta Configura el agente de operaciones.
- Usa un procesador
Si tu aplicación no genera seguimientos de pila estándar, modifícala para que registre las excepciones y sus seguimientos de pila en Cloud Logging.
Debes incluir toda la información de un solo error o excepción en la misma entrada de registro, incluidos todos los marcos de cualquier seguimiento de pila. Si no se incluye toda la información, es posible que Error Reporting no detecte el error. Puedes usar el formato JSON estructurado a fin de que las cargas útiles de tu entrada de registro incluyan diferentes tipos de datos para cada error.
Agente de Logging heredado
Para configurar Error Reporting para que use el agente de Logging heredado, completa los siguientes pasos:
- Instala el agente de Logging
google-fluentdsegún corresponda a tu entorno. Para obtener instrucciones, consulta Instala el agente de Logging. Modifica tu aplicación para que registre las excepciones y sus seguimientos de pila en Logging.
Debes incluir toda la información de un solo error o excepción en la misma entrada de registro, incluidos todos los marcos de cualquier registro de seguimiento de pila. Si no se incluye toda la información, es posible que Error Reporting no detecte el error. Puedes usar el formato JSON estructurado para las cargas útiles de las entrada de registro y, así, incluir diferentes tipos de información para cada error.
Java
Agrega lo siguiente a tu archivo pom.xml:
Luego, usa un código como el siguiente para enviar los datos de excepción:
Python
Primero, instala la biblioteca fluent-logger-python:
sudo pip install fluent-logger
Luego, usa un código como el siguiente para enviar los datos de excepción:
Node.js
Primero, instala la biblioteca fluent-logger-node:
npm install fluent-logger
Luego, usa un código como el siguiente para enviar los datos de excepción:
Go
Primero, instala el paquete fluent-logger-golang:
go get github.com/fluent/fluent-logger-golang/
Luego, usa un código como el siguiente para enviar datos de errores:
Usa la API de Error Reporting para escribir errores
La API de Error Reporting proporciona un extremo report para escribir información de error en el servicio.
Habilita la API de Error Reporting si aún no está habilitada.
Roles necesarios para habilitar las APIs
Para habilitar APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.Informa errores a la API con la API de REST o una biblioteca cliente.
Ejemplos
ASP.NET
El paquete NuGet de ASP.NET informa las excepciones no detectadas de las aplicaciones web de ASP.NET a Error Reporting.
Instala el paquete NuGet
Para instalar el paquete Stackdriver ASP.NET NuGet en Visual Studio, haz lo siguiente:
- Haz clic con el botón derecho en tu solución y selecciona Administrar paquetes de NuGet para la solución.
- Selecciona la casilla de verificación Incluir lanzamiento anticipado.
- Busca y, luego, instala el paquete llamado
Google.Cloud.Diagnostics.AspNet.
Uso
Una vez que hayas instalado el paquete NuGet de Stackdriver ASP.NET, agrega la siguiente sentencia al código de la aplicación para comenzar a enviar errores a Stackdriver:
using Google.Cloud.Diagnostics.AspNet;
Agrega el siguiente código HttpConfiguration al método Register de tu app web de .NET después de reemplazar your-project-id por tu ID del proyecto real para habilitar el registro de excepciones:
Una vez que hayas agregado este método a tu aplicación ASP.NET, podrás ver las excepciones no detectadas que se produzcan a medida que se informen a Google Clouden la sección Error Reporting de la consola de Google Cloud .
C#
Puedes encontrar el siguiente ejemplo en el repositorio GoogleCloudPlatform/dotnet-docs-samples. Para usarlo, luego de compilar el proyecto, especifica el ID del proyecto:
C:\...\bin\Debug> set GOOGLE_PROJECT_ID=[YOUR_PROJECT_ID]
Asegúrate de reemplazar [YOUR_PROJECT_ID] por el valor correcto de la consola deGoogle Cloud .
Luego, envía datos de excepciones con un código similar al siguiente:
Go
Consulta Configura Error Reporting para Go.
Java
Consulta Configura Error Reporting para Java.
Node.js
Consulta Configura Error Reporting para Node.js.
Ruby
Consulta Configura Error Reporting para Ruby.
Python
Consulta Configura Error Reporting para Python.
PHP
Consulta Configura Error Reporting para PHP.
Cómo ver grupos de errores
En la consola de Google Cloud , ve a la página Error Reporting:
También puedes usar la barra de búsqueda para encontrar esta página.