Intégrer Esadax Log Drains avec n'importe quel backend

Auteur:Mikkel Haldorsen
Mise à jour:22 juin 2025

Pour recevoir et gérer les journaux de Esadax en utilisant Log Drains, suivez les étapes ci-dessous, indépendamment du framework. Celles-ci s'appliquent à n'importe quel backend qui prend en charge le routage HTTP et la configuration de l'environnement.


1. Développement durable Configurer un Endpoint

Créez un point de terminaison HTTP (par exemple, /esadax/logs) dans votre application qui accepte les requêtes POST. Ce point d'extrémité recevra les données de journal d'Esadax.

  • Assurez-vous qu'il prend en charge les charges utiles JSON.
  • N'acceptez que les requêtes POST pour des raisons de sécurité et de cohérence.

Exemple (pseudocode) :

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

2. Sécurisé avec la vérification de signature

Esadax envoie un en-tête de signature (x-esadax-signature) avec chaque charge utile de journal.

  • Définissez un INTEGRATION_SECRET dans votre environnement (à partir de votre tableau de bord Esadax).
  • Utilisez ce secret pour vérifier la signature et vous assurer que la demande provient d'Esadax.

Exemple de vérification de signature (pseudocode de style 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. Développement Configuration du drain de journaux sur Esadax

Dans le tableau de bord Esadax:

  • Définir les sources : Choisissez les sources de journaux (par exemple, lambda, edge ou static).
  • Sélectionner les environnements: Cibler uniquement les environnements pertinents (comme production ou staging).
  • Définir le taux d'échantillonnage : Limitez éventuellement le volume du journal (par exemple, taux d'échantillonnage de 50 %).

4. Développement Sécuriser la communication

  • Utiliser HTTPS : Votre point de terminaison de journal doit être servi via HTTPS pour protéger les données en transit.
  • Valider les en-têtes et les IP (facultatif): Si vous souhaitez une protection supplémentaire, limitez les requêtes entrantes aux IP Esadax ou validez User-Agent.

5. Développement durable Gérer et stocker les journaux

Une fois vérifié, analysez la charge utile et transférez-la vers votre outil de stockage ou d'analyse de journaux préféré (par exemple, Datadog, Loki, Sentry, Elasticsearch).

Exemple de flux de traitement des journaux:

  • Valider → Analyser → Filtrer (facultatif) → Stocker ou alerter

Article 6. Répondre de manière appropriée

Toujours répondre à Esadax avec le bon code d'état HTTP:

  • 200 OK: Réception et vérification réussies de la charge utile
  • 400 Bad Request: Données mal formées ou manquantes
  • 403 Forbidden: Signature non valide

Chapitre 7. Testez votre configuration

Avant de passer en direct:

  • Utilisez curl ou Postman pour envoyer des charges utiles simulées.
  • Testez avec des signatures valides et invalides pour vérifier votre logique.
  • Vérifiez les journaux et les outils d'observabilité pour vous assurer que les journaux sont capturés et stockés correctement.

Exemple curl Test (Remplacer par votre logique secrète)

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

A. Résumé

Étape Description :
1 Créer un point de terminaison de journal sécurisé
2 Mettre en œuvre la vérification de signature
3 Configurer les drains de bûches dans Esadax
4 Utilisez HTTPS et la validation IP facultative
5 Données de journal de processus et d'itinéraire
6 Envoyer des réponses HTTP appropriées
7 Tester la configuration avec des charges utiles valides/invalides