Configuración de OpenTelemetry en aplicaciones .NET Core
Clase 15 de 22 • Curso de Introducción a DevOps
Contenido del curso
- 5

GitHub Projects: gestión básica de tareas y estructura del código
06:39 - 6

Configuración de proyectos .NET con pruebas unitarias automatizadas
06:41 - 7

Blindaje de rama main y gestión de commits en GitHub
07:07 - 8

Configuración de GitHub Actions para validar pruebas en pull requests
08:35 - 9

Creación de imágenes Docker para APIs de ASP.NET Core
06:52 - 10

Configuración de CI/CD con Docker en GitHub Actions
05:58 - 11

Configuración de despliegue continuo con Docker y GitHub Actions
06:22
- 15

Configuración de OpenTelemetry en aplicaciones .NET Core
08:17 - 16

Variables de ambiente en GitHub Actions y Azure Container App
09:50 - 17

Creación de paneles personalizados con Azure Workbooks
09:50 - 18

Creación de método para obtener contactos con pruebas unitarias
04:02 - 19

Automatización de despliegues con GitHub Actions y pull requests
04:30 - 20

Alternativas de herramientas para procesos DevOps completos
04:06 - 21

Integración de DevOps y metodologías ágiles en equipos de software
03:32 - 22

DevOps como diferenciador entre desarrollo y ingeniería de software
02:55
La observabilidad se ha convertido en un aspecto fundamental en las aplicaciones modernas, ayudándonos a comprender y mejorar continuamente nuestro rendimiento. OpenTelemetry representa hoy en día un estándar en la industria que permite facilitar y centralizar la telemetría mediante herramientas como Azure Application Insights.
¿Qué es OpenTelemetry y por qué usarlo?
OpenTelemetry es un estándar actual en la industria para gestionar logs y trazabilidad en aplicaciones. Su ventaja principal radica en evitar el uso de múltiples SDKs específicos de cada herramienta de monitoreo, simplificando considerablemente el proceso de observabilidad.
Utilizando OpenTelemetry, las métricas y la trazabilidad de la aplicación pueden enviarse fácilmente al servicio de monitoreo en la nube Azure Application Insights.
¿Cómo agregar OpenTelemetry en tu aplicación .NET?
Implementar OpenTelemetry en una aplicación .NET es simple y requiere seguir estos pasos prácticos:
1. Instalación de paquetes necesarios
Primero, es necesario instalar ciertos paquetes NuGet que permiten habilitar OpenTelemetry en tu proyecto. Mediante la terminal en la ubicación adecuada, debes instalar los siguientes paquetes:
OpenTelemetry.Extensions.HostingOpenTelemetry.Instrumentation.AspNetCoreOpenTelemetry.Instrumentation.Http
Estos paquetes brindan la capacidad de recolectar datos críticos relacionados con peticiones y rendimiento.
2. Configuración en appsettings.json
En este archivo, debes incluir la cadena de conexión (Connection String) que proporciona Azure Monitor. Esta cadena permite la comunicación directa con Azure Application Insights, obteniendo registros precisos y en tiempo real.
Además, es recomendable mantener appsettings.json fuera del control de versiones mediante el archivo .gitignore a fin de proteger información sensible.
3. Integración en program.cs
Luego, desde el archivo program.cs, introduces la lógica para estructurar y enviar las métricas y datos de trazabilidad hacia Azure Application Insights:
builder.Services.AddOpenTelemetryMetrics();
builder.Services.Configure<OpenTelemetrySettings>(builder.Configuration.GetSection("AzureMonitor"));
La configuración actualiza tus using, añadiendo las métricas y separa claramente cómo obtener la cadena de conexión para entornos locales (desde appsettings.json) y para entornos de nube (variables de entorno).
¿Cómo verificar la implementación?
Finalmente, para asegurarte de que todo está configurado correctamente:
- Ejecuta
.net buildy verifica que no haya errores. - Corre la aplicación localmente con
.net run. - Revisa su funcionamiento a través del panel local usando Swagger (
localhost/swagger/index.html). - Si todo funciona correctamente, entonces procedes con la construcción y ejecución en Docker, y posteriormente realizas tu respectivo pull request.
Implementar OpenTelemetry optimiza significativamente la forma de monitorear aplicaciones, mostrando métricas claras para su análisis y mejora eficiente. ¿Has comenzado ya a utilizar OpenTelemetry en tus aplicaciones? ¡Comparte tu experiencia o dudas en los comentarios!