Φτιάχτηκε επειδή χάλασε ένα checkout και δεν το πήρε κανείς είδηση.
Το MageSentinel υπάρχει για μία συγκεκριμένη βλάβη: το κατάστημα δουλεύει, τα dashboards είναι πράσινα, και κανείς δεν μπορεί να αγοράσει.
Το πρόβλημα
Το checkout στο Magento είναι μια μακριά αλυσίδα — storefront, καλάθι, κόστη αποστολής, πάροχος πληρωμών, φόροι, απόθεμα, δώδεκα modules τρίτων — και κάθε κρίκος μπορεί να σπάσει μόνος του. Οι περισσότερες από αυτές τις αστοχίες είναι αθόρυβες. Η αρχική σελίδα φορτώνει κανονικά. Ο server απαντάει κανονικά. Η σελίδα κατάστασης μένει πράσινη.
Το αποτέλεσμα είναι ένα γνωστό πρωινό: τηλεφωνεί ο πελάτης ή έρχεται ένα ticket, και μόνο τότε μαθαίνει κανείς ότι οι παραγγελίες σταμάτησαν εδώ και ώρες.
Η προσέγγιση
Ο μόνος αξιόπιστος τρόπος να ξέρετε αν μπορούν οι πελάτες να αγοράσουν είναι να αγοράσετε. Το MageSentinel οδηγεί έναν πραγματικό browser μέσα στο πραγματικό σας κατάστημα, σε πρόγραμμα, και αντιμετωπίζει το checkout όπως ένας πελάτης.
Όταν αποτύχει, το ακριβό κομμάτι είναι η εικασία — γι᾽ αυτό το MageSentinel καταγράφει τα τεκμήρια τη στιγμή της αποτυχίας και τα συνδυάζει σε πιθανές αιτίες κατά σειρά βεβαιότητας, αντί να σας δώσει μια κόκκινη κουκκίδα.
Πώς το χτίζουμε
Το «άγνωστο» είναι κανονική έκβαση. Ένα εργαλείο που στριμώχνει κάθε αμφίβολη εκτέλεση σε PASS ή FAIL μαθαίνει τον κόσμο να το αγνοεί — και μια ειδοποίηση που αγνοείται είναι χειρότερη από καμία ειδοποίηση.
Ο καθαρισμός των τεκμηρίων γίνεται τη στιγμή της καταγραφής, όχι μετά. Ό,τι δεν φτάνει ποτέ στον δίσκο δεν μπορεί να διαρρεύσει από εκεί.
Οι ειδοποιήσεις στέλνονται σε αλλαγή κατάστασης, με cooldown, επειδή ένα εργαλείο που φωνάζει «ο λύκος» το κάνουν σίγαση — και ένα σιγασμένο εργαλείο δεν προστατεύει κανέναν.