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.

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"
}
}
Remarque

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.

cURL
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

Response
{
"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 :
Live tail output
[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 :

  • Remapping: remap meta.customer_id to a top-level attribute for easier filtering and faceting.
  • Parsing: extract error codes or transaction IDs from raw message strings using a Grok parser.
  • Enrichment: add a team_owner tag based on the service name.
  • Masking: obfuscate customer_id if it's personally identifiable information (PII).

Dépannage

Problème / Code d'étatCause possible / 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.

Prochaines étapes