Per ricevere e gestire i log da Esadax utilizzando Log Drains, seguire la procedura indipendente dal framework riportata di seguito. Questi si applicano a qualsiasi backend che supporta il routing HTTP e la configurazione dell'ambiente.
Crea un endpoint HTTP (ad esempio /esadax/logs) nell'applicazione che accetti le richieste POST. Questo endpoint riceverà i dati di registro da Esadax.
POST per sicurezza e coerenza.Esempio (pseudocodice):
POST /esadax/logs
Content-Type: application/json
Body: { logs: [...] }
Esadax invia un'intestazione di firma (x-esadax-signature) con ogni payload di registro.
INTEGRATION_SECRET nel tuo ambiente (dalla tua dashboard Esadax).Esempio di verifica della firma (pseudocodice in stile Node.js):
const crypto = require('crypto');
function verifySignature(secret, body, signature) {
const hmac = crypto.createHmac('sha256', secret);
hmac.update(body);
const expectedSig = hmac.digest('hex');
return expectedSig === signature;
}
Nella dashboard di Esadax:
lambda, edge o static).production o staging).User-Agent.Una volta verificato, analizza il payload e inoltralo al tuo archivio di log preferito o allo strumento di analisi (ad esempio, Datadog, Loki, Sentry, Elasticsearch).
Esempio di flusso di gestione dei log:
Rispondere sempre a Esadax con il codice di stato HTTP corretto:
200 OK: Il payload è stato ricevuto e verificato con successo400 Bad Request: Dati malformati o mancanti403 Forbidden: Firma non validaPrima di andare in diretta:
curl o Postman per inviare payload simulati.curl -X POST https://yourdomain.com/esadax/logs \
-H "Content-Type: application/json" \
-H "x-esadax-signature: <calculated_signature>" \
-d '{ "logs": [...] }'
| Passo | Descrizione |
|---|---|
| 1 | Creare un endpoint di registro sicuro |
| 2 | Implementare la verifica della firma |
| 3 | Configurare gli scarichi dei tronchi in Esadax |
| 4 | Utilizzare HTTPS e la convalida IP opzionale |
| 5 | Dati di log di processo e percorso |
| 6 | Invia risposte HTTP corrette |
| 7 | Testare la configurazione con payload validi/non validi |