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 :
- 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 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
- Mermaid (schéma/image)
- Mermaid (code)
- ASCII
flowchart LR
A[Application cloud] -->|Journal JSON| B[API d'ingestion]
B --> C{Moteur de routage}
C -->|Règle de correspondance| D[Visualiseur de données en temps réel]
C -->|Aucune correspondance| E[Suppression / Compartiment par défaut]
[App cloud]
|
| |Journal JSON|
v
[API d'ingestion]
|
v
{ Moteur de routage }
/ \
| Règle | Aucune
| correspondance | correspondance
v v
[Visualiseur en] [Suppression /]
[temps réel ] [Par défaut ]
1. Créer ou sélectionner un flux
Dans votre plateforme d'observabilité :
- Accédez à Flux > Gestion.
- Cliquez sur Nouveau flux ou sélectionnez
default-logs. - Copiez l'ID du flux, par exemple
st_12345. - (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"
}
}
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
- Accédez à Explore ou Live Tail dans l'interface utilisateur de la plateforme.
- Sélectionnez votre flux (
st_12345). - Ajoutez un filtre :
service == "payment-gateway". - 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 :
- Accédez à Pipelines > Rules de routage.
- Cliquez sur Nouvelle règle.
- Filtre :
level == "ERROR" - Action : Transférer vers
S3-ArchiveetSlack-Alerts. - 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_iddans un champ de niveau supérieur. - Enrichissement : Ajoutez une balise
team_owneren fonction du nom duservice. - Masquage : Masquez
customer_ids'il s'agit d'informations personnelles identifiables (PII).
Dépannage
| Code d'erreur | Cause potentielle / Résolution |
|---|---|
401 Non autorisé | Vérifiez les autorisations de votre jeton API. |
400 Bad Request | Vérifiez la syntaxe JSON. |
404 Not Found | Vérifiez que le X-Stream-Id est correct. |
Problèmes d'horodatage | Assurez-vous d'utiliser le format ISO 8601 du temps universel coordonné (UTC). |
Données non affichées | Vérifiez si un filtre actif exclut votre nouveau journal. |
Étapes suivantes
- Référence de l'API Ingest
- Concepts d'observabilidad
- Essayez d'envoyer différents types de journaux, tels que des journaux de machine virtuelle, des journaux de conteneur et des événements API.