Aller au contenu principal

Routage des journaux d'applications cloud dans un pipeline

Ce guide vous guide à travers le "Hello World" des pipelines d'observabilité : envoyer un seul événement de journal JSON à partir d'une application cloud (simulée via une API) et le vérifier dans la plateforme.

Objectif: Ingérer un journal d'application fictif, vérifier qu'il a atteint le pipeline et le préparer pour le routage vers une destination (comme Splunk, Elastic ou S3).


Pourquoi c'est important

Avant d'élaborer des règles d'analyse complexes ou d'acheminer des données vers des SIEM coûteux, vous devez faire confiance à votre chemin d'ingestion.
Ce flux de travail confirme :

  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 d'avoir :

  • Un jeton API (avec les permissions ingest).
  • Votre identifiant unique de flux (à partir de l'interface utilisateur de la plateforme).
  • Un accès terminal (pour exécuter curl) ou Postman.

Aperçu du pipeline

flowchart LR
A[Cloud App] -->|JSON Log| B[Ingest API]
B --> C{Moteur de routage}
C -->|Règle de correspondance| D[Visualisateur de données en direct]
C -->|Pas de correspondance| E[Drop / Default Bucket]

1. Créer ou sélectionner un flux

Dans votre plate-forme d'observabilité :

  1. Allez dans Streams > Management.
  2. Cliquez sur New Stream (ou sélectionnez default-logs).
  3. Copiez l'Identifiant de flux (par exemple, st_12345).
  1. (Facultatif) Définissez une politique de rétention (la valeur par défaut est généralement de 7 jours).

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

Nous allons simuler le journal d'une application cloud. Enregistrez ceci sous app-log.json.

{
"timestamp" : "2025-11-15T08:30:00Z",
"service" : "payment-gateway",
"level" : "ERROR",
"message" : "Échec de la transaction : Gateway timeout",
"transaction_id" : "txn_998877",
"meta" : {
"region" : "us-east-1",
"customer_id" : "cus_554433"
}
}
remarque

Conservez le format ISO 8601 pour l'horodatage afin d'assurer une indexation correcte.


3. Envoyer l'événement de journal

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

export STREAM_ID="votre_source_id_ici"
export API_TOKEN="votre_api_token_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, le pipeline a reçu les données.


4. Vérifiez votre journal dans le visualisateur de données en direct

  1. Naviguez vers 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. Vous devriez voir votre événement 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. Allez dans Pipelines > Règles de routage.
  2. Cliquez sur Nouvelle règle.
  3. Filtre: niveau == "ERROR"
  4. Action: Route to S3-Archive AND Slack-Alerts.
  5. Save & Deploy.

Envoyez à nouveau la requête curl.

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

6. Optimiser le pipeline

Maintenant que vous avez un flux fonctionnel, envisagez d'ajouter :

  • Paramétrage: Extraire customer_id dans un champ de premier niveau.
  • Enrichissement: Ajouter un tag team_owner basé sur le nom service.
  • Masking: Obfuscate customer_id if it is PII.

Dépannage

  • 401 Unauthorized: Vérifiez les permissions de votre jeton API.
  • 400 Bad Request: Validez votre syntaxe JSON.
  • 404 Not Found: Vérifiez que le X-Stream-Id est correct.
  • Problèmes d'horodatage: Vérifiez que vous utilisez le format UTC ISO 8601.
  • Les données ne s'affichent pas: Vérifiez si vous avez un filtre actif qui exclut votre nouveau journal.

Prochaines étapes