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.
Usa 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
Para conectar tus aplicaciones de Google Kubernetes Engine a Error Reporting, envía tus excepciones o cualquier otro error a Logging mediante un nombre de registro dedicado a fin de mantener los errores aparte de los otros registros.
Para supervisar otros registros de Google Kubernetes Engine además de los registros de la aplicación, puedes crear métricas basadas en registros.
Por ejemplo:
Habilita la API de Cloud Logging.
Instala el agente
google-fluentd
de Logging que sea adecuado para tu entorno. Si deseas obtener instrucciones, consulta Instalación del agente de Logging. Ten en cuenta quegoogle-fluentd
se instala de forma automática para las aplicaciones de GKE.Modifica tu aplicación para que registre las excepciones y los seguimientos de pila en Logging. Elige un nombre de registro para tu información de errores con el objetivo de separarla de otra información registrada.
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 toda la información no está junta, es posible que Error Reporting no recoja la información. 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.
Java
Agrega lo siguiente al 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 --save 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.
Informa errores a la API con la API de REST o una biblioteca cliente.
Ejemplos
ASP.NET
El paquete ASP.NET NuGet informa excepciones no detectadas de las aplicaciones web 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 cualquier excepción no detectada a medida que se informa a Google Cloud en la sección Error Reporting de la consola.
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.
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.