Monitoring Import/Export de Données

Surveillez vos échanges de fichiers et flux de données

Les imports et exports de données sont les artères de nombreuses entreprises. Flux EDI avec les fournisseurs, exports comptables vers l'expert, échanges de catalogues avec les marketplaces, rapports automatiques pour la direction - ces processus quotidiens doivent fonctionner sans faille.

Pourtant, les flux de fichiers sont notoirement fragiles. Un partenaire qui change son format sans prévenir, un serveur FTP indisponible, un fichier vide généré par erreur - les causes d'échec sont multiples. Et quand un flux échoue silencieusement, les conséquences peuvent être graves : commandes non traitées, factures non générées, stocks désynchronisés.

Le monitoring heartbeat apporte la visibilité nécessaire sur ces flux critiques. Chaque import et export signale son exécution, ses métriques, et son résultat. Si un flux échoue ou présente une anomalie, l'alerte est immédiate.

Cas d'Usage Concrets

Le monitoring import/export s'applique à de nombreux scénarios métier :

Import Catalogue Fournisseur

Chaque jour, vos fournisseurs vous envoient leurs mises à jour de catalogue : nouveaux produits, changements de prix, stocks. Surveillez que le fichier arrive dans les délais, que son format est correct, et que l'import s'exécute sans erreur. Un import manqué peut signifier des prix incorrects ou des produits indisponibles.

Export Comptable

Les écritures comptables doivent être exportées vers le logiciel de l'expert-comptable. Surveillez que l'export se génère, que le fichier contient le bon nombre d'écritures, et qu'il est bien déposé sur le serveur distant. Un export manqué retarde la clôture mensuelle.

Échanges EDI (Commandes, Factures)

L'EDI (Electronic Data Interchange) avec les grandes enseignes ou les logisticiens est critique. Les commandes arrivent par EDI, les avis d'expédition et factures partent en EDI. Un message EDI non traité peut bloquer une livraison ou créer des litiges.

Reports Automatiques

Rapports de vente quotidiens, dashboards hebdomadaires, états financiers mensuels - ces exports doivent arriver à temps pour les réunions de pilotage. Surveillez leur génération et leur envoi.

Monitoring des Imports

Un import fiable doit être vérifié à plusieurs niveaux :

  • Réception : Le fichier est-il arrivé dans les délais ? Que ce soit par FTP, email, ou API, vérifiez sa présence.
  • Format : Le fichier respecte-t-il le format attendu ? Encodage, séparateurs, colonnes obligatoires.
  • Volume : Le nombre de lignes est-il cohérent ? Un fichier vide ou anormalement petit est suspect.
  • Traitement : L'import s'est-il exécuté sans erreur ? Comptez les lignes traitées vs ignorées/en erreur.

Monitoring des Exports

Un export fiable doit également être vérifié :

  • Génération : L'export s'est-il exécuté à l'heure prévue ? Le processus de génération peut échouer.
  • Dépôt : Le fichier a-t-il été déposé avec succès ? FTP, SFTP, S3, email - vérifiez le code retour.
  • Contenu : Le fichier contient-il les bonnes données ? Taille cohérente, nombre de lignes attendu.
  • Confirmation : Le destinataire a-t-il accusé réception ? Pour les flux critiques, vérifiez le retour.

Script d'Import Monitoré

Voici un exemple d'intégration du monitoring dans un script d'import :

#!/bin/bash
# import_catalog.sh - Import catalogue fournisseur avec monitoring

HEARTBEAT_URL="https://monitao.com/ping/VOTRE_TOKEN"
IMPORT_DIR="/data/imports"
EXPECTED_FILE="catalog_$(date +%Y%m%d).csv"

# Vérification de la réception du fichier
if [ ! -f "$IMPORT_DIR/$EXPECTED_FILE" ]; then
    curl -s "$HEARTBEAT_URL/fail?error=file_not_received" > /dev/null
    exit 1
fi

# Vérification du format (au moins 2 colonnes, header)
LINES=$(wc -l < "$IMPORT_DIR/$EXPECTED_FILE")
if [ "$LINES" -lt 2 ]; then
    curl -s "$HEARTBEAT_URL/fail?error=file_empty&lines=$LINES" > /dev/null
    exit 1
fi

# Exécution de l'import
RESULT=$(php /app/import_catalog.php "$IMPORT_DIR/$EXPECTED_FILE" 2>&1)
EXIT_CODE=$?

# Extraction des métriques
IMPORTED=$(echo "$RESULT" | grep "imported:" | cut -d: -f2)
ERRORS=$(echo "$RESULT" | grep "errors:" | cut -d: -f2)

if [ $EXIT_CODE -eq 0 ] && [ "$ERRORS" -eq 0 ]; then
    curl -s "$HEARTBEAT_URL?imported=$IMPORTED&lines=$LINES" > /dev/null
else
    curl -s "$HEARTBEAT_URL/fail?imported=$IMPORTED&errors=$ERRORS&lines=$LINES" > /dev/null
fi

Ce script vérifie chaque étape : réception du fichier, format valide, traitement. Les métriques permettent d'analyser les tendances.

Configuration des Alertes

Configurez des alertes adaptées à chaque type de problème :

  • Fichier non reçu : L'import attendu n'est pas arrivé dans les délais. Contactez le partenaire ou vérifiez le serveur source.
  • Format invalide : Le fichier ne respecte pas le format attendu. Le partenaire a peut-être changé sa structure.
  • Export échoué : La génération ou le dépôt de l'export a échoué. Vérifiez les logs et la connectivité.
  • Volume anormal : Beaucoup moins de lignes que d'habitude. Problème côté source ou fichier tronqué.

Checklist Import/Export

  • Inventaire de tous les flux d'import et export
  • Heartbeat créé pour chaque flux avec délai approprié
  • Validations de format et volume implémentées
  • Scripts instrumentés avec pings et métriques
  • Alertes configurées avec les bons destinataires
  • Procédures de reprise documentées

Questions Fréquentes

Le fichier d'import arrive parfois en retard. Comment gérer ?

Configurez le heartbeat avec un délai de grâce correspondant à la tolérance acceptable (par exemple 2h après l'heure théorique). Si le fichier n'est pas traité dans ce délai, l'alerte est déclenchée. Ajustez le délai selon l'historique des retards.

Comment savoir si mon export FTP/SFTP a réussi ?

Vérifiez le code retour de la commande ftp/sftp/scp. Code 0 = succès. Certains serveurs retournent un succès même si l'upload échoue - vérifiez en listant le fichier distant après upload pour confirmer sa présence et sa taille.

Mon partenaire ne m'envoie pas toujours le fichier. Comment prouver les manquements ?

Documentez les SLA convenus, configurez le monitoring avec historique, et générez un rapport mensuel des incidents (fichiers manquants, en retard, invalides). Partagez ce rapport avec le partenaire lors des revues de qualité.

Comment gérer les fichiers vides ou incomplets ?

Ajoutez des validations avant de considérer l'import réussi : nombre minimum de lignes, présence des colonnes obligatoires, checksum si fourni par le partenaire. Envoyez un ping fail si une validation échoue.

Comment surveiller des imports arrivant à des heures variables ?

Deux options : 1) Un heartbeat avec une large fenêtre (par exemple "doit arriver entre 0h et 6h"). 2) Un script qui surveille le répertoire et ping dès qu'un nouveau fichier arrive. L'absence de ping après un certain délai déclenche l'alerte.

Comment gérer plusieurs fichiers d'import par jour du même partenaire ?

Créez un heartbeat par type de fichier si leurs horaires ou criticités diffèrent. Sinon, un seul heartbeat peut surveiller l'ensemble en comptant le nombre de fichiers traités et en alertant si le compte est inférieur à l'attendu.

Sécurisez vos Flux de Données

Les imports et exports de données sont souvent le maillon faible des processus automatisés. Un fichier qui n'arrive pas, un export qui échoue silencieusement - ces problèmes peuvent passer inaperçus pendant des jours avec des conséquences opérationnelles importantes.

Avec MoniTao, vous avez une visibilité complète sur vos flux de fichiers : réception, traitement, dépôt. Vous êtes alerté immédiatement en cas de problème, et vous disposez de l'historique pour analyser les tendances et discuter avec vos partenaires.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.