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 :
- Votre jeton API fonctionne.
- Le pipeline accepte votre structure JSON.
- 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
- Mermaid (code)
- Mermaid (image)
- ASCII
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]
[Votre application]
|
|
|
(POST /v1/streams/ingest)
v
+-----------------------+
| Nœud d'ingestion
+-----------------------+
|
v
+-----------------------+
| Live Data Viewer | <-- Nous vérifions ici
+-----------------------+
1. Créer ou sélectionner un flux
Dans votre plate-forme d'observabilité :
- Allez dans Streams > Management.
- Cliquez sur New Stream (ou sélectionnez
default-logs). - Copiez l'Identifiant de flux (par exemple,
st_12345).
- (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"
}
}
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
- Naviguez vers Explore ou Live Tail dans l'interface utilisateur de la plateforme.
- Sélectionnez votre flux (
st_12345). - Ajoutez un filtre :
service == "payment-gateway". - 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 :
- Allez dans Pipelines > Règles de routage.
- Cliquez sur Nouvelle règle.
- Filtre:
niveau == "ERROR" - Action: Route to
S3-ArchiveANDSlack-Alerts. - 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_iddans un champ de premier niveau. - Enrichissement: Ajouter un tag
team_ownerbasé sur le nomservice. - Masking: Obfuscate
customer_idif 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-Idest 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
- Référence de l'API d'ingestion
- Concepts d'observabilité
- Essayez d'envoyer différents types de journaux (journaux de VM, journaux de conteneurs, événements d'API).