Guida al Monitoraggio delle Callback HTTP/HTTPS
Panoramica
Il sistema di monitoraggio delle callback traccia e analizza tutte le chiamate HTTP/HTTPS in uscita verso gli endpoint di callback, con particolare attenzione ai problemi legati al protocollo HTTPS.
Funzionalità Implementate
1) Logging Dettagliato delle Callback
La funzione process-enrichment-queue registra:
- Protocollo utilizzato (HTTP vs HTTPS)
- Tempo di risposta in millisecondi
- Dimensione del payload
- Status code della risposta
- Headers della risposta
- Errori specifici di connessione HTTPS
2) Identificazione Problemi HTTPS
Il sistema rileva automaticamente:
- Certificati SSL scaduti o invalidi
- Errori di connessione HTTPS
- Timeout di rete
- Problemi di firewall/DNS
3) Funzione di Monitoraggio
La nuova funzione callback-monitor fornisce:
- Analisi statistica delle callback
- Confronto HTTP vs HTTPS (tassi di successo)
- Tempi di risposta medi per protocollo
- Lista degli errori più comuni
- Dettagli dei fallimenti recenti
Come Utilizzare il Sistema
Accesso ai Log in Tempo Reale
Dashboard Supabase:
- Vai su
Functions→process-enrichment-queue - Clicca su
Logsper vedere i log in tempo reale - Cerca i log con emoji per identificare rapidamente:
- 🔄 Inizio chiamata
- ✅ Successo
- ❌ Errore HTTP
- 💥 Eccezione
- 🚨 Problema HTTPS specifico
Analisi Statistica
- Endpoint:
GET /functions/v1/callback-monitor - Parametri:
hours(opzionale) → Ore da analizzare (default: 24)
Esempio di chiamata:
curl -X GET "https://your-project.supabase.co/functions/v1/callback-monitor?hours=48" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Risposta di esempio:
{
"success": true,
"tenant_id": "tenant-123",
"analysis_period_hours": 24,
"analysis": {
"total_callbacks": 150,
"successful_callbacks": 120,
"failed_callbacks": 30,
"https_issues": 15,
"http_vs_https": {
"http_success_rate": 95.5,
"https_success_rate": 75.2
},
"common_errors": [
{
"error_type": "TypeError",
"count": 12,
"percentage": 40.0
}
],
"avg_response_time": {
"http": 250,
"https": 850
},
"recent_failures": [
{
"url": "https://example.com/callback",
"protocol": "HTTPS",
"error": "SSL certificate expired",
"timestamp": "2025-01-17T10:30:00Z",
"duration_ms": 5000
}
]
}
}
Best Practice
- Validare i certificati SSL degli endpoint di callback.
- Implementare retry con backoff esponenziale per timeout di rete.
- Loggare body, headers principali e timing (con redazione dei dati sensibili).
- Distinguere chiaramente errori HTTP, eccezioni di trasporto e problemi TLS.
