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 contengan en una sola entrada de registro. La mayoría de los agentes de registro 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 extremo de la 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.
Enable the Error Reporting API.
Informa errores a la API con la API de REST o una biblioteca cliente.
Ejemplos
ASP.NET
El paquete ASP.NET NuGet informa sobre 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 derecho en la solución y selecciona Administrar paquetes 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 Stackdriver ASP.NET NuGet, agrega la siguiente declaración al código de tu 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 aplicación web .NET; para ello, reemplaza your-project-id
por tu ID del proyecto real a fin de permitir el informe 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 Cloud en 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 de Google 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 los 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.