Skip to main content

Visla Guardian - AI SRE Agent πŸ›‘οΈ

PrioritΓ : πŸ”΄ Alta
Effort Stimato: 2-3 settimane
Stato: Proposta

Problema​

Attualmente il monitoraggio della piattaforma richiede:

  • Controllo manuale dei log su Grafana
  • Alert generici che richiedono investigazione manuale
  • Intervento umano per risolvere problemi comuni
  • Nessuna correlazione automatica tra eventi

Soluzione: AI SRE Agent 24/7​

Un microservice che monitora continuamente la piattaforma e:

  • πŸ” Rileva anomalie e errori automaticamente
  • 🧠 Analizza root cause con AI
  • πŸ”§ Esegue auto-remediation per problemi noti
  • πŸ“Š Genera report giornalieri
  • πŸ’‘ Suggerisce miglioramenti proattivi

Architettura​

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ VISLA GUARDIAN πŸ›‘οΈ β”‚
β”‚ (AI SRE Agent 24/7) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β–Ό β–Ό β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ MONITOR β”‚ β”‚ ANALYZE β”‚ β”‚ ACT β”‚
β”‚ β”‚ β”‚ β”‚ β”‚ β”‚
β”‚ β€’ Logs Loki │────────────▢│ β€’ LLM │────────────▢│ β€’ Auto-fix β”‚
β”‚ β€’ Metrics β”‚ β”‚ β€’ Patterns β”‚ β”‚ β€’ Scale β”‚
β”‚ β€’ K8s Eventsβ”‚ β”‚ β€’ Anomalies β”‚ β”‚ β€’ Restart β”‚
β”‚ β€’ Redis β”‚ β”‚ β€’ Root causeβ”‚ β”‚ β€’ Alert β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ REPORT πŸ“Š β”‚
β”‚ β€’ Telegram bot β”‚
β”‚ β€’ Daily summary β”‚
β”‚ β€’ Improvement ideas β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Funzionalità​

FunzioneEsempioPrioritΓ 
πŸ”΄ Auto-RemediationPod crashato β†’ restart automaticoAlta
🟑 Smart Alerting"Errore nuovo, sembra correlato a X"Alta
🟒 Proactive"Redis usa 80% RAM, suggerisco cleanup"Media
πŸ“ˆ Optimization"Decoder potrebbe scalare in ore di punta"Bassa
πŸ“‹ Daily Report"Ieri: 3 errori risolti, 99.8% uptime"Media

Esempi Concreti​

Auto-Remediation​

πŸ•΅οΈ Guardian: "Rilevato: WebSocket consumer lag > 30 min"
β†’ Azione: Restart pod ws-consumer-xxx
β†’ Risultato: Lag ridotto a 0
β†’ Notifica Telegram: "βœ… WS consumer lag risolto automaticamente"

Pattern Detection​

πŸ•΅οΈ Guardian: "Pattern: Device S21L offline ogni giorno alle 14:00"
β†’ Analisi: Correlazione con power-saving mode
β†’ Suggerimento: "Considera di disabilitare NMOD per questi device"

Root Cause Analysis​

πŸ•΅οΈ Guardian: "Anomalia: 50% aumento errori 500 nell'ultima ora"
β†’ Root cause: "Deploy auth-service fallito"
β†’ Azione proposta: kubectl rollout undo deployment/auth
β†’ Attende conferma o agisce automaticamente (configurabile)

Flusso Tecnico​

# Ogni 5 minuti il Guardian esegue:

# 1️⃣ QUERY LOKI (interno, gratis)
logs = loki.query('{level="error"} | last 5 minutes')

# 2️⃣ FILTER LOCALE (no API, gratis)
new_errors = filter_already_seen(logs)
if not new_errors:
return # Niente da fare

# 3️⃣ ANALISI AI (unico costo)
analysis = await claude.analyze(
system="Sei un SRE esperto di Visla...",
content=f"Analizza questi errori:\n{sanitize(new_errors)}"
)

# 4️⃣ ESEGUI AZIONE (interno, gratis)
if analysis.action == "restart_pod":
kubectl.restart(analysis.pod_name)
telegram.send("βœ… Riavviato pod X per errore Y")

Sicurezza e Privacy​

Prima di inviare dati all'LLM:

def sanitize_for_llm(log_line):
log_line = re.sub(r'password=\S+', 'password=***', log_line)
log_line = re.sub(r'token=\S+', 'token=***', log_line)
log_line = re.sub(r'\d{10,}', '[IMEI]', log_line)
return log_line[:500] # Max 500 chars

Costi​

ComponenteCosto/meseNote
GKE Pod€0Risorse giΓ  disponibili
Loki/Grafana€0GiΓ  attivo
Redis€0GiΓ  attivo
Telegram Bot€0Free tier
LLM API€20-40Unico costo reale

Dettaglio LLM (Claude 3.5 Sonnet)​

FrequenzaQuery/giornoCosto/mese
Ogni 5 min~288~€30
Ogni 15 min~96~€15
Solo su erroriVariabile~€10-20

Implementazione​

Fase 1: MVP (1 settimana)​

  • Setup microservice Python/FastAPI
  • Query Loki per errori
  • Integrazione Claude API
  • Notifiche Telegram base

Fase 2: Auto-Remediation (1 settimana)​

  • Playbook per problemi comuni
  • Kubectl integration
  • Confirmation flow (opzionale)
  • Audit logging

Fase 3: Intelligence (1 settimana)​

  • Pattern detection
  • Daily reports
  • Suggerimenti proattivi
  • Dashboard metriche

Risorse​