Puedes enviar errores de tus aplicaciones de Google Kubernetes Engine a Error Reporting de una de estas dos formas:
Mediante el acceso a Cloud Logging. Si ya usas Cloud Logging, el único requisito adicional es que Error Reporting pueda reconocer tus entradas de registro. Para obtener más información sobre los requisitos de formato de errores, consulta Dale formato a errores en Cloud Logging.
Mediante el uso de la API de Error Reporting. Tu aplicación puede enviar solicitudes HTTP con la API de REST o puede usar bibliotecas experimentales en varios lenguajes.
Usa Logging para informar sobre errores
El agente de registro predeterminado de GKE proporciona una solución administrada para implementar y administrar los agentes que envían los registros de los clústeres a Cloud Logging. La estructura del agente depende de la versión del clúster. Para obtener información sobre este agente, consulta Administra los registros de GKE.
Error Reporting requiere que las excepciones o los seguimientos de pila se incluyan en una sola entrada de registro. La mayoría de los agentes de Logging pueden reconocer que varias líneas de registro (marcos de pila impresos cada uno en una línea nueva) representan un seguimiento de pila y lo envían a Cloud Logging como una sola entrada de registro.
Si el agente no puede reconstruir varias líneas como un solo error, usa el endpoint de API de projects.events.report, que te permite controlar el contenido de un error.
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#
El siguiente ejemplo se puede encontrar 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.