Integrazione di Esadax Log Drains con qualsiasi backend

Autore:Mikkel Haldorsen
Aggiornato:22 giu 2025

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.


1. Impostare un endpoint

Crea un endpoint HTTP (ad esempio /esadax/logs) nell'applicazione che accetti le richieste POST. Questo endpoint riceverà i dati di registro da Esadax.

  • Assicurati che supporti i payload JSON.
  • Accettare solo richieste POST per sicurezza e coerenza.

Esempio (pseudocodice):

POST /esadax/logs
Content-Type: application/json
Body: { logs: [...] }

2. Sicurezza con la verifica della firma

Esadax invia un'intestazione di firma (x-esadax-signature) con ogni payload di registro.

  • Imposta un INTEGRATION_SECRET nel tuo ambiente (dalla tua dashboard Esadax).
  • Utilizzare questo segreto per verificare la firma e assicurarsi che la richiesta provenga da 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;
}

3. Configurazione del Log Drain su Esadax

Nella dashboard di Esadax:

  • Definisci fonti: scegli le fonti dei log (ad esempio, lambda, edge o static).
  • Seleziona ambienti: seleziona solo gli ambienti pertinenti (come production o staging).
  • Imposta frequenza di campionamento: consente di limitare facoltativamente il volume del registro (ad esempio, frequenza di campionamento del 50%).

4. Proteggere la comunicazione

  • Usa HTTPS: l'endpoint di registro deve essere servito tramite HTTPS per proteggere i dati in transito.
  • Convalida intestazioni e IP (opzionale): Se si desidera una protezione aggiuntiva, limitare le richieste in arrivo agli IP Esadax o convalidare User-Agent.

- Cinque. Gestire e memorizzare i registri

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:

  • Convalida → Analisi → Filtro (opzionale) → Archivio o avviso

6. Rispondere in modo appropriato

Rispondere sempre a Esadax con il codice di stato HTTP corretto:

  • 200 OK: Il payload è stato ricevuto e verificato con successo
  • 400 Bad Request: Dati malformati o mancanti
  • 403 Forbidden: Firma non valida

Sette. Prova la tua configurazione

Prima di andare in diretta:

  • Utilizzare curl o Postman per inviare payload simulati.
  • Prova con firme sia valide che non valide per verificare la tua logica.
  • Controlla i registri e gli strumenti di osservabilità per garantire che i registri vengano acquisiti e archiviati correttamente.

Esempio curl Test (Sostituisci con la tua logica segreta)

curl -X POST https://yourdomain.com/esadax/logs \
  -H "Content-Type: application/json" \
  -H "x-esadax-signature: <calculated_signature>" \
  -d '{ "logs": [...] }'

Sommario

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