Cómo configurar Stackdriver Error Reporting para .NET

Cómo habilitar la biblioteca

Puedes enviar informes de errores a Stackdriver Error Reporting desde aplicaciones de .NET con la biblioteca de Stackdriver Error Reporting para .NET.

Stackdriver Error Reporting se integra en algunos productos, como App Engine. Stackdriver Error Reporting muestra los errores que las aplicaciones que se ejecutan en esos productos registran en Stackdriver Logging. Consulta Cómo ejecutar en Google Cloud Platform para obtener más información.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. Selecciona o crea un proyecto de GCP.

    Ir a la página Administrar recursos

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Habilita las Stackdriver Error Reporting API necesarias.

    Habilita las API

Cómo instalar la biblioteca cliente

La biblioteca de Stackdriver Error Reporting para .NET te permite supervisar y ver errores que informan las aplicaciones de .NET que se ejecutan prácticamente en cualquier sitio.

Para obtener más información sobre la instalación, consulta la documentación sobre la biblioteca de Stackdriver Error Reporting para .NET. También puedes informar problemas con el seguimiento de problemas.

Cómo configurar la biblioteca cliente

Puedes personalizar el comportamiento de la biblioteca de Stackdriver Error Reporting para .NET. Consulta la documentación de referencia de la API de .NET.

Cómo informar errores

Instala las bibliotecas de Cloud con los siguientes comandos:

Administrador de paquetes

PM> Install-Package Google.Cloud.Diagnostics.AspNetCore -Version 2.0.1

CLI de .NET

> dotnet add package Google.Cloud.Diagnostics.AspNetCore --version 2.0.1

Si utilizas el entorno flexible de App Engine consulta la sección del entorno flexible de App Engine.

Cómo ejecutar en Google Cloud Platform

El uso de la biblioteca de Stackdriver Error Reporting para .NET requiere la función de escritor de Error Reporting de Cloud IAM. La mayoría de las plataformas de procesamiento de Google Cloud Platform ofrecen esta función de forma predeterminada.

Entorno flexible de App Engine

Google App Engine otorga la función de escritor de Error Reporting de forma predeterminada.

La biblioteca de Stackdriver Error Reporting para .NET puede usarse sin necesidad de proporcionar credenciales de forma explícita.

Stackdriver Error Reporting está habilitado automáticamente para las aplicaciones de entorno flexible de App Engine. No se requiere ninguna configuración adicional. Error Reporting analizará los mensajes escritos desde App Engine hacia stderr y los mostrará, si encuentra un seguimiento de pila.

Consulta Cómo visualizar errores para obtener instrucciones sobre cómo ver errores y datos de excepciones de tu aplicación en GCP Console.

Kubernetes Engine

En Google Kubernetes Engine debes agregar el nivel de acceso cloud-platform cuando creas el clúster, como se muestra en el siguiente comando de ejemplo:

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud-platform

Compute Engine

Cuando uses las instancias de VM de Google Compute Engine, agrega el nivel de acceso cloud-platform a cada instancia. Cuando crees una instancia nueva con Google Cloud Platform Console, puedes hacerlo en la sección Identidad y acceso a la API del panel Crear instancia. Usa la cuenta de servicio predeterminada de Compute Engine, o bien otra cuenta de servicio de tu elección, y selecciona Permitir acceso completo a todas las API de Cloud en la sección Identidad y acceso a la API. Independientemente de la cuenta de servicio que selecciones, asegúrate de que se otorgue la función de escritor de Error Reporting en la sección IAM y administrador de GCP Console.

Cómo ejecutar de manera local y en otro lugar

Si deseas usar la biblioteca de Stackdriver Error Reporting para .NET fuera de Google Cloud Platform, debes proporcionar el ID del proyecto de GCP y las credenciales de la cuenta de servicio correspondientes directamente a la biblioteca de Stackdriver Error Reporting para .NET. Esto se aplica a la ejecución de la biblioteca en tu estación de trabajo, en las computadoras de tus centros de datos o en las instancias de VM de otro proveedor de servicios en la nube. Para obtener más información, consulta Cómo obtener y proporcionar las credenciales de la cuenta de servicio de forma manual.

Cómo visualizar informes de errores

Después de la implementación, podrás ver los informes de errores en el panel Error Reporting en GCP Console.

Ir al panel de Error Reporting

Para obtener más información, consulta Cómo visualizar errores.

Cómo configurar Stackdriver Error Reporting para aplicaciones de .NET Core

Para usar la biblioteca cliente Google.Cloud.Diagnostics.AspNetCore:

  1. Haz clic derecho en tu solución de Visual Studio y selecciona Administrar paquetes de Nuget para la solución.

  2. Selecciona la casilla de verificación Incluir lanzamiento anticipado.

  3. Busca e instala el paquete denominado Google.Cloud.Diagnostics.AspNetCore.

  4. Una vez que el cliente Google.Cloud.Diagnostics.AspNetCore se instala, agrega lo siguiente mediante una directiva para los archivos del código fuente de tu aplicación cuando quieras personalizar la información de error que se envía a Error Reporting:

     using Google.Cloud.Diagnostics.AspNetCore;
    

Luego, completa los siguientes pasos para registrar informes de errores personalizados desde tu aplicación:

  1. Crea o edita el método ConfigureServices en el archivo Startup.cs de la aplicación y llama a services.AddGoogleExceptionLogging():

    services.AddGoogleExceptionLogging(options =>
    {
        options.ProjectId = "YOUR-GOOGLE-PROJECT-ID";
        options.ServiceName = "ShoppingCartService";
        options.Version = "0.01";
    });
    
  2. Edita el método Configure en el archivo Startup.cs de la aplicación y llama a app.UseGoogleExceptionLogging() antes de llamar a app.UseStaticFiles() y app.UseMvc().

    // Use before handling any requests to ensure all unhandled exceptions are reported.
    app.UseGoogleExceptionLogging();
    

En el siguiente ejemplo se muestran los errores de registro a fin de informar un evento de error personalizado para que Stackdriver Error Reporting transfiera.

throw new Exception("Generic exception for testing Stackdriver Error Reporting");
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Stackdriver Error Reporting
Si necesitas ayuda, visita nuestra página de asistencia.