Aller au contenu
Facteur
ENCommencer

Surveillance de parcours

Vos tests s’arrêtent à la CI. Vos parcours critiques, non.

Un parcours d’inscription qui casse en production ne casse presque jamais au déploiement : il se dégrade un jeudi soir, chez un routeur, sur un domaine. Le seul moyen de le savoir est de le rejouer en continu, code de vérification compris.

datadog · étape 2Synthetics
// Étape 2 du test multi-étapes Datadog Synthetics.
// L'API attend le message : pas de sleep dans le scénario.
POST https://api.facteur.eu/v1/messages/await
Authorization: Bearer {{ FACTEUR_READONLY_KEY }}

{
  "inbox": "mon-flow-prod",
  "sentTo": "signup+{{ RUN_ID }}@mon-flow-prod.inbox.facteur.eu",
  "timeout": 45000
}

// Assertions de l'étape
// status            is 200
// body.otp          matches ^[0-9]{6}$
// body.deliveryMs   is less than 15000
// → extraire body.otp dans la variable OTP pour l'étape 3
monitor.yamlDatadog
# Monitor Datadog sur la métrique que nous exposons.
name: "OTP d'inscription — latence de réception"
type: metric alert
query: >
  avg(last_5m):p95:facteur.message.delivery_seconds{
    inbox:mon-flow-prod, type:email
  } > 20
message: |
  Le code d'inscription met plus de 20 s à arriver.
  Le parcours n'est pas cassé, il est en train de le devenir.
  @opsgenie-astreinte

Le scénario

Ce qu’un parcours surveillé vérifie réellement

Un check HTTP sur votre page d’inscription vous dit qu’elle répond. Il ne vous dit pas qu’un utilisateur peut s’inscrire.

  1. 1

    Le monitor crée un compte sur votre environnement de production, avec une adresse unique dans votre inbox de supervision.

  2. 2

    Il attend le code de vérification. Notre API bloque jusqu’à son arrivée, et mesure le délai.

  3. 3

    Il extrait le code — déjà isolé du corps du message — et termine l’inscription.

  4. 4

    Il supprime le compte de test, et recommence dans cinq minutes.

  5. Le jour où votre routeur d’emails commence à mettre trois minutes, vous le savez avant vos utilisateurs. Et vous avez la métrique pour le prouver à votre prestataire.

Ce qu’il faut pour tenir

Surveiller n’est pas tester

Des adresses stables, pas jetables

inbox de supervision

Une inbox de surveillance vit des mois : son adresse est déclarée dans votre monitor, dans votre outil de synthetics, parfois dans une liste blanche côté expéditeur. Elle ne doit pas être recyclée entre deux exécutions comme une inbox de CI.

Capacité réservée à la supervision

le point important

Vos monitors ne doivent jamais être privés de quota par un test de charge lancé à côté. Une inbox marquée « supervision » dispose de sa propre réserve : même compte épuisé, elle continue d’accepter. Un outil de surveillance qui s’aveugle quand la CI s’emballe ne sert à rien.

La latence de réception est une métrique

facteur.message.delivery_seconds

Chaque message porte son délai entre l’acceptation SMTP et sa mise à disposition par l’API. C’est ce que vous surveillez : un OTP qui met quarante secondes n’a pas échoué, mais votre parcours d’inscription est déjà cassé pour l’utilisateur.

Clés en lecture seule

Un monitor ne doit pas pouvoir créer ni supprimer quoi que ce soit. Clé restreinte à une inbox, en lecture seule, avec expiration et restriction d’IP — ce qui limite les dégâts si elle fuite dans une configuration de synthetics.

Mode performance

Pour un monitor, seul compte le fait que le message soit arrivé et en combien de temps. En mode performance nous confirmons la réception, mesurons, et ne stockons rien : aucune donnée qui traîne, et un coût de rétention nul.

Escalade réelle

Un parcours d’inscription cassé à 3 h du matin est une astreinte, pas une notification. Les alertes partent dans OpsGenie ou PagerDuty avec le niveau de priorité que vous choisissez.

Intégrations

Depuis l’outil que vous utilisez déjà

Il n’y a rien à installer : une clé en lecture seule et un appel HTTP qui attend.

Datadog Synthetics

Test API multi-étapes : déclencher le parcours, attendre le message, extraire le code, poursuivre.

Grafana Synthetic Monitoring

Même principe via des checks scriptés k6.

Checkly

Scénarios Playwright exécutés en continu, avec notre SDK Node.

StatusCake, Uptrends

Pour les vérifications simples : le message arrive-t-il, et en combien de temps.

Votre propre ordonnanceur

Un cron et deux appels HTTP suffisent. L’API attend le message pour vous.

Surveillez ce qui compte vraiment

Un parcours validé par email ou SMS, rejoué toutes les cinq minutes, avec la latence de réception en métrique.