📊 Resumen del Controlador
3
Componentes Monitoreados
El HealthController es un controlador especializado del sistema RestMaster encargado de proporcionar información detallada sobre el estado de salud de la aplicación y sus componentes críticos. Este controlador es fundamental para el monitoreo proactivo y la detección temprana de problemas en el sistema.
🎯 Funcionalidades Principales
- Health Check General: Verificación completa del estado del sistema (1 endpoint)
- Monitoreo de Base de Datos: Verificación de conexión y estado de SQL Server
- Monitoreo de Espacio en Disco: Verificación de espacio disponible y usado
- Monitoreo de Memoria: Verificación de uso de memoria del proceso
- Análisis de Estado: Evaluación automática del estado general del sistema
- Logging Detallado: Registro de errores y eventos de salud
- Respuestas Estructuradas: Información detallada en formato JSON
- Detección de Problemas: Identificación automática de componentes no saludables
🔧 Servicios Utilizados
Servicios Inyectados por Constructor:
- IOptions<AppSettings> - Configuración de la aplicación
- ILogger<HealthController> - Logging de errores y eventos
📊 Dependencias de Configuración
- AppSettings: Configuración general de la aplicación
- ConnectionStrings: Cadena de conexión a la base de datos
- System.Diagnostics: Información del proceso actual
- Microsoft.Data.SqlClient: Cliente SQL Server
⚠️ Configuración Requerida
El controlador requiere la siguiente configuración en appsettings.json:
- ConnectionStrings:PerseforeConnection (string, requerido): Cadena de conexión a SQL Server
- Access:UserID (string, opcional): Usuario de base de datos
- Access:Password (string, opcional): Contraseña de base de datos
🔗 Estructura de Rutas
Ruta Base: /api/health
El controlador utiliza la ruta /api/health siguiendo las convenciones de ASP.NET Core para health checks.
Patrones de URL:
- Health Check General:
GET /api/health - Verificación completa del sistema