SRE e IA

Aegis Sentinel | Python

Motor de recuperación de infraestructura autónomo que presenta detección predictiva de anomalías y capacidades de autorreparación.

Contexto del problema, stack y tipo de sistema

Este proyecto se centra en la detección de anomalías y flujos de autorreparación para operaciones de infraestructura. Refleja la automatización del backend de Python utilizada para mejorar la resiliencia del sistema mediante monitoreo y acciones de recuperación controladas.

Alcance técnico

  • Stack: Python, detección de anomalías, monitoreo de infraestructura, automatización de recuperación
  • Tipo de sistema: automatización de backend de Python, motor de resiliencia, inteligencia operativa
  • Palabras clave en contexto: automatización de backend de Python, sistema de automatización, ingeniero de backend

Proyectos relacionados: Cipher Gate Proxy y Cloud Deployment Showcase. Ver Proyectos Python.

Documentación completa del proyecto

Aegis Sentinel

Python Versión Licencia: MIT GitHub Estrellas

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:

  1. Servicio de monitorización: Recopilación de métricas del sistema en tiempo real
  2. Detección de anomalías de ML: Identificación de anomalías basada en aprendizaje automático
  3. 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 disponibilidad
  • enable_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 Docker
  • enable_cache_recovery: Habilitar la recuperación de vaciado de caché
  • enable_service_recovery: Habilitar la recuperación de reinicio del servicio del sistema
  • max_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ón
  • WARNING: Eventos de detección de anomalías
  • ERROR: Errores del sistema y acciones de recuperación fallidas
  • DEBUG: 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.

GitHub Sponsors

Stack tecnológico

Python
Aprendizaje automático
Detección de anomalías
Infraestructura APIs
Automatización de DevOps

Ver el código fuente

Abrir en GitHub