Aller au contenu principal

Acheminer les journaux d'une application cloud vers un pipeline

Ce guide vous montre comment simuler, envoyer et vérifier un événement de journalisation JSON unique au sein d'un workflow de pipeline d'observabilité.

Objectif : Ingérer un journal d'application fictif, vérifier qu'il a bien atteint le pipeline et le préparer pour qu'il soit acheminé vers une destination, telle que Splunk, Elastic ou S3.

Pourquoi est-ce important ?

Avant de créer des règles d'analyse complexes ou d'acheminer des données vers des outils SIEM (Security Information and Event Management) coûteux, vous devez vérifier votre chemin d'ingestion. Ce workflow confirme que :

  1. Votre jeton API fonctionne.
  2. Le pipeline accepte votre structure JSON.
  3. Vous pouvez voir les données en temps réel.

Avant de commencer

Assurez-vous de disposer :

  • D'un jeton API (avec des autorisations ingest).
  • De votre ID de flux unique (provenant de l'interface utilisateur de la plateforme).
  • Un accès au terminal (pour exécuter curl) ou Postman.

Présentation du pipeline

Capture d'écran de l'architecture du pipeline

1. Créer ou sélectionner un flux

Dans votre plateforme d'observabilité :

  1. Accédez à Flux > Gestion.
  2. Cliquez sur Nouveau flux ou sélectionnez default-logs.
  3. Copiez l'ID du flux, par exemple st_12345.
  4. (Facultatif) Définissez une politique de conservation. La valeur par défaut est généralement de 7 jours.

2. Créer un exemple d'événement de journal

Simulez un journal d'application cloud en enregistrant ce qui suit sous le nom app-log.json.

{
"timestamp": "2025-11-15T08:30:00Z",
"service": "payment-gateway",
"level": "ERROR",
"message": "Échec de la transaction : délai d'attente de la passerelle",
"transaction_id": "txn_998877",
"meta": {
"region": "us-east-1",
"customer_id": "cus_554433"
}
}
note

Conservez le timestamp au format ISO 8601 (Organisation internationale de normalisation) pour garantir un indexage correct.

3. Envoyer l'événement de journalisation

Utilisez curl pour simuler l'envoi du journal par l'application.

export STREAM_ID="votre_identifiant_de_flux_ici"
export API_TOKEN="votre_jeton_API_ici"

curl -X POST "https://api.observability-platform.com/v1/streams/ingest" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-H "X-Stream-Id: $STREAM_ID" \
-d @app-log.json

Réponse attendue

{
"status": "accepted",
"ingest_id": "evt_abc12345",
"accepted_items": 1
}

Si vous voyez status: accepted, cela signifie que le pipeline a bien reçu les données.

4. Vérifiez votre journal dans la visionneuse de données en direct

  1. Accédez à Explore ou Live Tail dans l'interface utilisateur de la plateforme.
  2. Sélectionnez votre flux (st_12345).
  3. Ajoutez un filtre : service == "payment-gateway".
  4. Votre événement devrait apparaître instantanément :
[ERROR] 2025-11-15T08:30:00Z service=payment-gateway msg="Transaction failed..."

5. Acheminer les journaux vers une destination

Maintenant que les données circulent, créez une règle de routage :

  1. Accédez à Pipelines > Rules de routage.
  2. Cliquez sur Nouvelle règle.
  3. Filtre : level == "ERROR"
  4. Action : Transférer vers S3-Archive et Slack-Alerts.
  5. Enregistrer et déployer.

Renvoyez la requête curl.

  • Vérifiez votre compartiment S3.
  • Vérifiez votre canal Slack.

6. Optimiser le pipeline

Maintenant que vous disposez d'un flux opérationnel, envisagez d'ajouter :

  • Analyse : Extrayez customer_id dans un champ de niveau supérieur.
  • Enrichissement : Ajoutez une balise team_owner en fonction du nom du service.
  • Masquage : Masquez customer_id s'il s'agit d'informations personnelles identifiables (PII).

Dépannage

Code d'erreurCause potentielle / Résolution
401 Non autoriséVérifiez les autorisations de votre jeton API.
400 Bad RequestVérifiez la syntaxe JSON.
404 Not FoundVérifiez que le X-Stream-Id est correct.
Problèmes d'horodatageAssurez-vous d'utiliser le format ISO 8601 du temps universel coordonné (UTC).
Données non affichéesVérifiez si un filtre actif exclut votre nouveau journal.

Étapes suivantes