Publier des traces de transport

Publier des traces de transport

Objectif

Enterprise Flows Repository est un moteur avancé pour analyser, regrouper et agréger des traces de transport de flux.

Vos applications d’intermédiation doivent envoyer ces traces à EFR.

 

Ce diagramme illustre:

  • les publicateurs de traces,

  • l’API Traces comme point d’entrée dans EFR,

  • le stockage des traces dans votre espace Elasticsearch.

Description des traces

Ce moteur consomme des traces de transport composée des informations suivantes:

Element JSON

Description

Obligatoire

Dynamique

Element JSON

Description

Obligatoire

Dynamique

environment

l’environnement d'émission *,

oui

 

state

l'état de la trace *,

préférable

L'état peut-être RE-calculé.

cf. Calculer le statut des traces de médiation dynamiquement

message

le message avec:

  • l' ID du message *,

  • l' ID de corrélation,

  • les en-têtes,

  • son corps,

  • la date de production

préférable

L' ID du message est produit si non inconnu.

La date de réception est prise en référence en tant que date si celle-ci est inconnue.

route

la description du programme émetteur:

  • son nom,

  • son identifiant *,

  • sa version,

  • sa description.

oui

 

business

la liste des données métiers transportées,

  • clé

  • valeur

préférable

Les clés peuvent être extraites du corps du message.
cf. Extraire dynamiquement les valeurs métier des traces

exception

l’exception dans le cas d’une erreur:

  • son code ;

  • le détail textuel ;

  • une stack trace ;

  • sa date ;

  • la classe de code référencée .

préférable en cas d’erreur

De nouvelles erreurs peuvent être trouvées avec des définitions supplémentaires.
cf. Définir une erreur de médiation

infrastructure

l’infrastructure de provenance avec:

  • l’instance (container, VM) ;

  • le serveur ;

  • le datacenter.

préférable

Utilisé dans le Suivi des déploiements .

Exemple d’une trace

{ "environnement": "PROD", "state": "success", "message": { "created": "2019-10-30T12:30:04.123+01:00", "correlationID": "132-abc-456-def", "messageID": "abc-123", "headers": [ { "name": "HEADER1", "value": "1234EFG" }, { "name": "HEADER2", "value": "1234EFG" } ], "body": "<content><a>123</a><b>456</b></content>" }, "route": { "name": "job-ABC", "version": "1.2.2", "id": "Talend-ABC", "step": "Ecriture du fichier ABC", "description": "Ecriture du fichier ABC-123.txt" }, "business": [ { "name": "Invoice", "value": "ABCD" }, { "name": "Invoice", "value": "DFEG" } ], "exception": { "code": "SOME-ERROR-001", "detail": "Error ...", "stackTrace": "line 1\ncaused by line 2...", "when": "2019-10-30T12:30:03.456+01:00", "className": "fr.company.project.exceptions.SomeError" }, "infrastructure": { "instance": "processABC", "hostname": "server2", "datacenter": "paris" } }

Qui publie des traces ?

Les publicateurs de traces sont des logiciels qui transportent de la donnée. Il s’agit de logiciels expert comme:

  • des ETL (Extract-Transform-Load),

  • des routes d’ESB (Enterprise Flows Repository),

  • des API (Application Performance Interface),

ou bien, généralistes, comme:

  • des scripts systèmes (bash, Powershell, etc),

  • des applications à façon (PHP, Java, .Net, etc),

  • des triggers de base de données.

API à appeler

API

Description

 

API

Description

 

Traces

API de publication des traces.

Spécifique à chaque environnement.

/{environnement}/api/traces/{version}/

Ce contenu est soumis au droit à Copyright. Il ne doit pas être utilisé sans accord de la société Middleware Editions.