lumnik. / scénarios Tous les scénarios · English

Les commandes en erreur cachées dans les logs

Objectif Relier chaque erreur du log applicatif à sa commande, son client et son statut actuel, pour savoir quels clients rappeler.

Des clients appellent: leur commande «n'est jamais passée».

Un log métier, pas un outil de supervision.

orders.csv
order_no,customer,status,amount_eur
CMD-1001,Durand,created,202.21
CMD-1002,Morel,created,898.67
CMD-1003,Nguyen,created,289.67
CMD-1004,Petit,created,142.68
CMD-1005,Lefèvre,created,635.13
CMD-1006,Garnier,created,129.44
CMD-1007,Roux,pending,324.45
CMD-1008,Faure,created,603.99
CMD-1009,Durand,created,495.92
CMD-1010,Morel,created,476.18
CMD-1011,Nguyen,created,646.55
CMD-1012,Petit,created,103.78
CMD-1013,Lefèvre,pending,503.95
CMD-1014,Garnier,created,24.16
CMD-1015,Roux,created,177.20
CMD-1016,Faure,created,752.68
CMD-1017,Durand,created,361.89
CMD-1018,Morel,created,65.75
CMD-1019,Nguyen,created,31.25

… 21 lignes de plus

app-2025-10-20.log
2025-10-20 08:05:24,824 INFO  [srv-erp-prd02] c.a.OrderService - Order CMD-1001 created
2025-10-20 08:05:46,721 INFO  [srv-erp-prd01] c.a.OrderService - Order CMD-1002 created
2025-10-20 08:06:30,165 INFO  [srv-erp-prd02] c.a.OrderService - Order CMD-1003 created
2025-10-20 08:07:36,629 INFO  [srv-erp-prd01] c.a.OrderService - Order CMD-1004 created
2025-10-20 08:08:03,066 INFO  [srv-erp-prd02] c.a.OrderService - Order CMD-1005 created
2025-10-20 08:08:33,880 INFO  [srv-erp-prd01] c.a.OrderService - Order CMD-1006 created
2025-10-20 08:09:13,053 ERROR [srv-erp-prd02] c.a.OrderService - Timeout after 30000 ms (order CMD-1007)
	at com.acme.order.OrderService.submit(OrderService.java:212)
	at com.acme.order.OrderController.post(OrderController.java:48)
2025-10-20 08:09:52,363 INFO  [srv-erp-prd01] c.a.OrderService - Order CMD-1008 created
2025-10-20 08:10:12,958 INFO  [srv-erp-prd02] c.a.OrderService - Order CMD-1009 created
2025-10-20 08:10:32,694 INFO  [srv-erp-prd01] c.a.OrderService - Order CMD-1010 created
2025-10-20 08:10:58,275 INFO  [srv-erp-prd02] c.a.OrderService - Order CMD-1011 created
2025-10-20 08:12:12,925 INFO  [srv-erp-prd01] c.a.OrderService - Order CMD-1012 created
2025-10-20 08:12:58,197 ERROR [srv-erp-prd02] c.a.OrderService - Timeout after 30000 ms (order CMD-1013)
	at com.acme.order.OrderService.submit(OrderService.java:212)
	at com.acme.order.OrderController.post(OrderController.java:48)
2025-10-20 08:13:33,626 INFO  [srv-erp-prd01] c.a.OrderService - Order CMD-1014 created
2025-10-20 08:14:04,761 INFO  [srv-erp-prd02] c.a.OrderService - Order CMD-1015 created
2025-10-20 08:14:33,704 INFO  [srv-erp-prd01] c.a.OrderService - Order CMD-1016 created

… 34 lignes de plus

manifests/30-order-incident.yaml
kind: Entityname: order_incident_blabel: Incident sur commandedescription: "A WARN or ERROR line of the order application's log, with the order it names (if any) and that order's customer and current status."match: [logged_at, server]scopes: [support-b]columns:  logged_at:    label: "Horodatage"  level:    label: "Niveau"    values: [WARN, ERROR]  server:    label: "Serveur"  message:    label: "Message"  order_no:    label: "Commande"    example: "CMD-1007"  customer:    label: "Client"  order_status:    label: "Statut actuel de la commande"    values: [created, pending, cancelled]sources:  - table: t_scenario_app_log_b    map:      logged_at: logged_at      level: level      server: server      message: message      order_no: order_nojoins:  - table: t_scenario_orders_b    from: order_no    to: order_no    map:      customer: customer      status: order_status

Limites

  • Un log métier, pas un outil de supervision: un fichier par jour, relu en entier; ni suivi en continu, ni rétention.
  • Une stack trace n'est pas rattachée à son erreur: ses lignes sont écartées et comptées.
  • Log et commandes synthétiques.

Support · log applicatif

Ma commande n'est jamais passée.

La réponse est dans le log d'hier.

Un fichier texte par jour, 54 lignes, que le support ne lit pas.

Log et commandes synthétiques

Le problème

Le log et l'ERP ne se parlent pas.

  • Le log dit: timeout sur CMD-1007.
  • L'ERP dit: CMD-1007, Roux, en attente.
  • Aucun outil ne les rapproche.

Rien n'est modifié

Le log reste tel qu'écrit.

  • lumnik garde les erreurs et avertissements.
  • Il en tire la commande.
  • Il la relie au client et au statut.

Ce qu'il a fallu écrire

joins:
  - table: t_scenario_orders_b
    from: order_no
    to: order_no

L'erreur rejoint sa commande.

Le scénario complet tient en 3 fichiers de déclaration, 77 lignes.

Les réponses

Quatre timeouts, deux clients à rappeler.

  • CMD-1007, Roux: en attente.
  • CMD-1013, Lefèvre: en attente.
  • CMD-1022 passée, CMD-1031 annulée.

La limite

Un log métier, pas une supervision.

  • Un fichier par jour, relu en entier.
  • Une stack trace n'est pas rattachée à son erreur.

Essayer

Le scénario se rejoue de bout en bout.

Deux connecteurs, une entité: chaque étape est publiée avec sa sortie.

Ce scénario tourne sur lumnik Open, gratuit et open source.

Essayer lumnik Open →