Aegis Sentinel
Resumen ejecutivo
Aegis Sentinel es un motor de reparación automática y monitoreo de infraestructura de alta confiabilidad diseñado para garantizar la continuidad del negocio y la resiliencia de la infraestructura en entornos empresariales. Este sistema implementa algoritmos avanzados de detección de anomalías y mecanismos de recuperación automatizados para evitar tiempos de inactividad catastróficos en los servicios digitales.
La plataforma demuestra principios de ingeniería avanzados adecuados para los estándares internacionales, particularmente alineados con los requisitos EB-2 NIW para demostrar una capacidad excepcional en ingeniería de sistemas y automatización de infraestructura.
Especificaciones de ingeniería
Arquitectura Técnica
Aegis Sentinel emplea una arquitectura modular orientada a servicios con tres componentes principales:
- Servicio de monitorización: Recopilación de métricas del sistema en tiempo real
- Detección de anomalías de ML: Identificación de anomalías basada en aprendizaje automático
- Motor de recuperación: Acciones automatizadas de remediación y curación.
Tecnologías centrales
- Python 3.11+ con sugerencias de tipo estrictas
- Registro JSON estructurado para la auditabilidad empresarial
- Bosque de aislamiento y detección estadística de anomalías
- Gestión de contenedores Docker para recuperación automatizada
- Pruebas completas con marco pytest
Flujo de trabajo visual
graph LR
A[Metrics Collection] --> B[ML Detection]
B --> C{Anomaly?}
C -- No --> A
C -- Yes --> D[Recovery Engine]
D --> E[Self-Healing Action]
Requisitos del sistema
- Python 3.11 o superior
- Docker (para acciones de recuperación en contenedores)
- Bibliotecas estándar Python: psutil, numpy, scikit-learn
- Opcional: Redis para almacenamiento en caché distribuido
Contexto de interés nacional
En la economía digital actual, la confiabilidad de la infraestructura es fundamental para mantener los servicios esenciales. Aegis Sentinel aborda el interés nacional al:
- Prevención de tiempos de inactividad catastróficos en infraestructura digital crítica
- Reducir el impacto económico de fallas del sistema a través de una rápida recuperación automatizada
- Mejorar la resiliencia de la ciberseguridad mediante la detección proactiva de anomalías
- Demostrando liderazgo tecnológico en la automatización de infraestructuras
Métricas de impacto de ingeniería
| Métrica | Objetivo | Beneficio de Interés Nacional |
|---|---|---|
| Latencia de detección | < 2,0 s | Respuesta en tiempo real a fallas críticas |
| Tasa de falsos positivos | < 5% | Minimiza la interrupción operativa |
| Éxito de la recuperación | > 95% | Garantiza una alta disponibilidad para los servicios esenciales. |
La capacidad del sistema para detectar y solucionar problemas antes de que se conviertan en interrupciones del servicio contribuye directamente a la estabilidad y confiabilidad de los servicios digitales que son esenciales para la sociedad moderna.
Instalación
git clone https://github.com/PkLavc/aegis-sentinel.git
cd aegis-sentinel
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
Uso
Uso básico
from src.main import AegisSentinel
# Initialize the system with default configuration
sentinel = AegisSentinel()
# Start monitoring
await sentinel.start()
# The system will automatically detect anomalies and trigger recovery
# Monitor runs in the background and logs all activities
Configuración avanzada
from src.main import AegisSentinel
from src.monitor import MonitoringConfig
from src.detector import DetectionConfig
from src.healer import RecoveryConfig
# Custom configuration
monitoring_config = MonitoringConfig(
collection_interval=5.0, # Check every 5 seconds
api_endpoints=["https://api.example.com/health"],
enable_network_monitoring=True,
enable_disk_monitoring=True
)
detection_config = DetectionConfig(
isolation_contamination=0.1,
statistical_threshold_multiplier=3.0,
min_samples_for_detection=50
)
recovery_config = RecoveryConfig(
enable_docker_recovery=True,
enable_cache_recovery=True,
max_concurrent_actions=3
)
# Initialize with custom configuration
sentinel = AegisSentinel(
monitoring_config=monitoring_config,
detection_config=detection_config,
recovery_config=recovery_config
)
# Start monitoring
await sentinel.start()
# Get service status
status = sentinel.get_status()
print(f"Service running: {status['service_status']}")
print(f"Anomalies detected: {status['anomalies_detected']}")
print(f"Recovery success rate: {status['success_rate']:.1f}%")
Uso programático
import asyncio
from src.main import aegis_sentinel_context
async def main():
# Use context manager for automatic cleanup
async with aegis_sentinel_context() as sentinel:
print("Aegis Sentinel is running...")
# Monitor for 60 seconds
await asyncio.sleep(60)
# Get current status
status = sentinel.get_status()
print(f"Uptime: {status['uptime_seconds']} seconds")
if __name__ == "__main__":
asyncio.run(main())
Opciones de configuración
Configuración de monitoreo
collection_interval: Tiempo entre recopilaciones de métricas (predeterminado: 5,0 segundos)api_endpoints: Lista de endpoints de API para monitorear latencia y disponibilidadenable_network_monitoring: Habilitar la recopilación de métricas de red.enable_disk_monitoring: Habilitar el monitoreo del uso del disco
Configuración de detección
isolation_contamination: Proporción esperada de anomalías en los datos (predeterminado: 0,1)isolation_n_estimators: Número de árboles en el bosque de aislamiento (predeterminado: 100)statistical_threshold_multiplier: Multiplicador de desviación estándar para detección estadística (predeterminado: 3,0)min_samples_for_detection: Muestras mínimas requeridas antes de que comience la detección (predeterminado: 50)
Configuración de recuperación
enable_docker_recovery: Habilite la recuperación de reinicio del contenedor Dockerenable_cache_recovery: Habilitar la recuperación de vaciado de cachéenable_service_recovery: Habilitar la recuperación de reinicio del servicio del sistemamax_concurrent_actions: Máximo de acciones de recuperación simultáneas (predeterminado: 3)action_timeout: Tiempo de espera predeterminado para acciones de recuperación (predeterminado: 120,0 segundos)
Pruebas
Ejecute el conjunto de pruebas:
# Using the simple test runner
python run_tests.py
# Using pytest (if available)
pytest tests/
# Run specific test modules
pytest tests/test_monitor.py
pytest tests/test_detector.py
Registro
Aegis Sentinel utiliza registro JSON estructurado para la auditabilidad empresarial:
{
"timestamp": "2026-02-18T10:15:30Z",
"level": "WARNING",
"event": "anomaly_detected",
"metric": "memory_usage",
"value": 92.5,
"action": "docker_container_restart",
"target": "api_gateway_v1"
}
import logging
# Configure logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
# Log files are automatically created as 'aegis_sentinel.log'
Niveles de registro:
INFO: Estado de operación general y acciones de recuperaciónWARNING: Eventos de detección de anomalíasERROR: Errores del sistema y acciones de recuperación fallidasDEBUG: Información detallada de detección y recopilación de métricas
Contribuyendo
Este proyecto sigue estrictos estándares profesionales. Todas las contribuciones deben incluir:
- Pruebas unitarias completas
- Escriba anotaciones para todas las funciones.
- Registro estructurado para todas las operaciones.
- Documentación para nuevas funciones.
Licencia
Licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Autor
Patrick Araujo - Ingeniero Informático Para ver otros proyectos y detalles de el portafolio, visite: https://pklavc.com/projects/
Este proyecto es parte de una portafolio profesional que demuestra capacidades avanzadas de ingeniería de sistemas para infraestructura de alta disponibilidad.