Instrumenta las apps de C# para Error Reporting

Puedes enviar informes de errores a Error Reporting desde aplicaciones de C# mediante el conjunto de bibliotecas de Google.Cloud.Diagnostics. Usa el Conjunto de bibliotecas de Google.Cloud.Diagnostics a fin de crear grupos de errores para los siguientes casos:

  • Un bucket de registros que contiene tus entradas de registro cuenta con encriptación administrada por el cliente claves (CMEK).
  • El bucket de registros cumple con una de las siguientes condiciones:
    • El bucket de registros se almacena en el mismo proyecto en el que se originaron las entradas de registro.
    • Las entradas de registro se enrutaron a un proyecto, que luego almacenó esas entradas de registro en un bucket de registros de su propiedad.
  • Deseas informar eventos de error personalizados.

Error Reporting está integrado en algunos servicios de Google Cloud, como Cloud Functions y App Engine, Compute Engine y Google Kubernetes Engine. Error Reporting muestra los errores que registran las aplicaciones que se ejecutan en esos servicios en Cloud Logging. Para obtener más información, ve a Ejecuta en Google Cloud en esta página.

También puedes enviar datos de errores a Error Reporting mediante Logging. Para obtener información sobre los requisitos de formato de datos, consulta Dale formato a los mensajes de error en Logging.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Error Reporting API .

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Error Reporting API .

    Enable the API

Instala la biblioteca cliente

El Conjunto de bibliotecas de Google.Cloud.Diagnostics te permite supervisar y ver errores informados por Aplicaciones de C# que se ejecutan casi en cualquier lugar.

  1. Para las aplicaciones que se orientan a ASP.NET Core 3 o versiones posteriores, usa la biblioteca Google.Cloud.Diagnostics.AspNetCore3. Puedes instalar esta biblioteca desde NuGet.
  2. Para aplicaciones orientadas a versiones anteriores de ASP.NET Core, usa el Google.Cloud.Diagnostics.AspNetCore biblioteca. Puedes instalar esta biblioteca desde NuGet.
  3. Para las aplicaciones que se orientan a frameworks que no son de ASP.NET Core, usa la biblioteca Google.Cloud.Diagnostics.Common. Puedes instalar esta biblioteca desde NuGet.

Para obtener más información sobre la instalación, lee la documentación del conjunto de bibliotecas de Google.Cloud.Diagnostics. También puedes informar problemas con el seguimiento de problemas.

Configura la biblioteca cliente

Para obtener más información y ejemplos, consulta los siguientes recursos:

  • Google.Cloud.Diagnostics.AspNetCore3 documentación
  • Google.Cloud.Diagnostics.AspNetCore documentación
  • Google.Cloud.Diagnostics.Common documentación
  • Ejecuta apps en Google Cloud

    Para crear grupos de errores con projects.events.report, tu cuenta de servicio requiere la Rol de escritor de Error Reporting (roles/errorreporting.writer).

    Algunos servicios de Google Cloud otorgan rol de escritor de Error Reporting (roles/errorreporting.writer) para el rol adecuado cuenta de servicio. Sin embargo, debes otorgar este rol al servicio correspondiente para algunos servicios.

    Entorno flexible de App Engine

    App Engine otorga la Rol de escritor de Error Reporting (roles/errorreporting.writer) automáticamente a tu cuenta de servicio predeterminada.

    El Conjunto de bibliotecas de Google.Cloud.Diagnostics se pueden usar sin necesidad de proporcionar explícitamente credenciales.

    Error Reporting se habilita de forma automática en las aplicaciones del entorno flexible de App Engine. No se requiere ninguna configuración adicional. Los mensajes que se escriben desde App Engine hacia stderr se analizan y, si se descubre que contienen un seguimiento de pila, se muestran en Error Reporting.

    Consulta Cómo visualizar errores para obtener instrucciones sobre visualizar los datos de errores y excepciones de tu aplicación en la Consola de Google Cloud

    Google Kubernetes Engine

    Para usar Error Reporting con Google Kubernetes Engine, haz lo siguiente:

    1. Asegúrate de que la cuenta de servicio que usará tu contenedor tenga el rol de escritor de Error Reporting (roles/errorreporting.writer).

      Puedes usar la cuenta de servicio predeterminada de Compute Engine o una personalizada.

      Para obtener información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    2. Crea tu clúster y otórgale los permisos cloud-platform: permiso de acceso.

      Por ejemplo, el siguiente comando create especifica el cloud-platform permiso de acceso y una cuenta de servicio:

      gcloud container clusters create CLUSTER_NAME --service-account  SERVICE_ACCT_NAME --scopes=cloud-platform
      

    Compute Engine

    Para usar Error Reporting con instancias de VM de Compute Engine, haz lo siguiente:

    1. Asegúrate de que la cuenta de servicio que utilizará tu instancia de VM esté concedido el Función de escritor de Error Reporting (roles/errorreporting.writer).

      Puedes usar la cuenta de servicio predeterminada de Compute Engine o una personalizada.

      Para obtener información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    2. En la consola de Google Cloud, ve a la página Instancias de VM.

      Ir a Instancias de VM

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Compute Engine.

    3. Selecciona la instancia de VM a la que deseas que se le asigne el alcance de acceso cloud-platform.

    4. Haz clic en Detener y, luego, en Editar.

    5. En la sección Identidad y acceso a la API, selecciona una cuenta de servicio que tiene el rol de escritor de Error Reporting (roles/errorreporting.writer).

    6. En la sección Permisos de acceso, Selecciona Permitir el acceso total a todas las APIs de Cloud y, luego, guarda los cambios.

    7. Haz clic en Iniciar/Reanudar.

    Cloud Functions

    Las funciones de Cloud Run otorgan el rol de escritor de Error Reporting (roles/errorreporting.writer) a tu cuenta de servicio predeterminada automáticamente.

    El conjunto de bibliotecas de Google.Cloud.Diagnostics se puede usar sin necesidad de proporcionar credenciales de forma explícita.

    Las funciones de Cloud Run están configuradas para usar Error Reporting automáticamente. No controlado Las excepciones de JavaScript aparecerán en Logging y se procesarán de Error Reporting sin necesidad de usar Conjunto de bibliotecas de Google.Cloud.Diagnostics de Google Cloud.

    Ejemplo

    Para obtener más información y ejemplos, consulta los siguientes recursos:

  • Google.Cloud.Diagnostics.AspNetCore3 documentación
  • Google.Cloud.Diagnostics.AspNetCore documentación
  • Google.Cloud.Diagnostics.Common documentación
  • Ejecuta apps en un entorno de desarrollo local

    Para usar Conjunto de bibliotecas de Google.Cloud.Diagnostics en un entorno de desarrollo local, como ejecutar la biblioteca en tu propia estación de trabajo, debes proporcionar tu Conjunto de bibliotecas de Google.Cloud.Diagnostics con las credenciales predeterminadas de la aplicación local. Para obtener más información, consulta Cómo autenticar en Error Reporting.

    Para usar las muestras de .NET de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

    1. Install the Google Cloud CLI.
    2. To initialize the gcloud CLI, run the following command:

      gcloud init
    3. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

    Para obtener más información, consulta Set up authentication for a local development environment.

    El método projects.events.report también admite claves de API. Si deseas usar claves de API para la autenticación, no necesitas configurar un archivo local de credenciales predeterminadas de la aplicación. Para obtener más información, consulta Crea una clave de API en la documentación de autenticación de Google Cloud.

    Ve informes de errores

    En la consola de Google Cloud, ve a la página Error Reporting.

    Ir a Error Reporting

    También puedes usar la barra de búsqueda para encontrar esta página.

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