CNS — CreaRack Network Sentinel
Qué es
Motor de diagnóstico con inteligencia artificial de CreaRack Pro. Procesa telemetría SNMP, logs SSH y descripciones de anomalías para producir un AIInsight: objeto estructurado con diagnóstico, causa raíz, nivel de riesgo y comandos de mitigación listos para aprobación con un clic. System prompt identifica al sistema como “Network Sentinel AI”, motor de inferencia especializado en diagnósticos de red L3 (CCIE/JNCIE).
Por qué existe
La infraestructura gestionada genera anomalías complejas (pérdida de paquetes, ataques L2/WiFi, saturación, fallos STP) que requieren diagnóstico experto inmediato. CNS automatiza el primer nivel de triage, reduce MTTR y proporciona trazabilidad completa mediante audit log por cada acción sobre un insight.
Componentes
Proveedores AI (ai_providers/__init__.py → get_provider()):
| Nombre | Clase | Rol |
|---|---|---|
google_genai | GoogleGenaiProvider | Primario por defecto (Gemma 4 gemma-4-26b-a4b-it en Google AI Studio, Regla 8) |
gemini | GeminiProvider | Legado (Gemini vía AI Studio); ya no es el primario |
claude | ClaudeProvider | Fallback deliberado (Claude Haiku 4.5, chain ai_fallback) |
ollama | OllamaProvider | Self-hosted (Gemma u otros) |
static | StaticRulesProvider | Fallback determinista |
Proveedor por defecto via settings.EDGE_AI_PROVIDER (default "google_genai", config/settings/base.py:314; actualizado 10-09-2026). Si el primario lanza excepción, insight_service.py reintenta automáticamente con StaticRulesProvider.
Rate limiting (_check_rate_limit()): ventana deslizante 1 hora.
- Por dispositivo: 5 insights/hora (
RATE_LIMIT_PER_DEVICE = 5). - Por tenant: 100 insights/hora (
RATE_LIMIT_PER_TENANT = 100).
Si supera, ValueError antes de llamar al proveedor. Insights en maintenance window también suprimidos.
System prompt (prompts.py): restricciones no negociables — nunca sugerir reload, erase startup-config, write erase, format. rollback_commands obligatorios para riesgo MEDIUM/HIGH. Respuesta JSON válido con diagnosis + recommendation. Scope restringido a infraestructura de red.
Feedback loop (cns_feedback_loop.py): ciclo Detect → Diagnose → Act → Learn → Improve. Tarea Huey periódica ejecuta refresh_learned_patterns() cada 6h. Extrae patrones de:
- Revisiones operadores (
is_revised=True): corrección → regla aprendida. - Insights confirmados (
status=ACKNOWLEDGED): causas raíz con ≥3 confirmaciones → patrones confiables. InsightConversationfrecuentes: preguntas repetidas loguean candidatos para enriquecimiento manual.
Patrones serializados en JSON y cacheados en Valkey (cns:learned_patterns, TTL 6h). StaticRulesProvider los consulta antes que reglas hardcodeadas. Umbral: 2 ocurrencias en revisiones, 3 en confirmaciones.
Flujos
Anomalía → Insight:
- Agent detecta anomalía y llama
create_insight()contarget,snmp_data,ssh_logs,anomaly_description. - Verifica maintenance window y rate limits. Si falla,
ValueErrory no crea insight. - Proveedor AI recibe user prompt renderizado desde
USER_PROMPT_TEMPLATE. diagnosis_validator.pyvalida resultado; si score insuficiente,apply_adjustments()corrige antes de persistir.- Crea
AIInsightcon statusPENDING, registra enAIInsightAuditLog. - Hooks ITSM: calcula deadlines SLA, correlaciona incidents, matchea runbooks, notifica, broadcast WS.
Apply / Rollback / Acknowledge:
- Apply:
apply_insight()valida comandos contra vendor, transiciona aEXECUTING. Agent ejecuta y reporta viarecord_execution_result()→APPLIEDoFAILED. - Rollback:
rollback_insight()validarollback_commandsy marcarollback_executed=True. Disponible desdeAPPLIED/EXECUTING. - Acknowledge:
acknowledge_insight()registra operador, timestamp, notas. Insights de pérdida de conectividad se auto-resuelven viaauto_resolve_connectivity_insights()al recuperarse (keywords"total loss","unreachable","100%","device down"). - Expiración:
expire_stale_insights()marcaEXPIREDlos PENDING vencidos.
Related
entity--monitoring--model--aiinsight— estructura resultante.entity--monitoring--model--monitoringtarget— origen de anomalías.concept--monitoring--itsm— capa ITSM que envuelve cada insight.
Véase también
- [[entity—monitoring—model—aiinsight]]
- [[entity—monitoring—model—monitoringtarget]]
- [[concept—monitoring—itsm]]
Referenciado desde
- Agente · dev-cns
- AIInsight · Modelo monitoring
- Cola de auditoría B (task #286): CNS e insights de IA — WS sin gate de permiso, apply/rollback sin Agente, prompts sin sanear
- Deduplicación de episodios de Sentinel — un insight por avería (v1.66.15)
- Guía CNS — CreaRack Network Sentinel
- Guía de Troubleshooting con CNS/ITSM
- Guía ITSM — CreaRack Network Sentinel
- Incidente 24-08-2026 · el cortacircuitos mixto silenció el SNMP vivo del CCIB 15 minutos
- Incidente 24-08-2026 · el motor SNMP quedaba corrupto tras cuelgues seguidos — timeout duro + autocuración (Agente 2.21.2→2.21.3)
- ITSM — SLA, Escalación y Runbooks
- Local Agent v2.x
- POST /api/monitoring/targets/{target_id}/tcp/check — Sonda TCP Bajo Demanda
- Remate de la sonda TCP: supresión inteligente de falsos positivos (v1.63.4)
- Sentinel Mode — 24/7 Local Monitoring
- Sentinel Mode: Prueba de Persistencia 24/7
- sentinel/tcp_check.py — Loop Asyncio de Sondeo TCP del Agente
- Sonda TCP — Equipos que bloquean ICMP dejan de salir "down" falsos
- tcp_service: Sonda TCP con Guardia SSRF