200 OK du Gateway ne signifie rien

Un simple contrôle HTTP peut indiquer qu'un service d'IA fonctionne, tandis que les utilisateurs ne reçoivent aucune réponse. L'endpoint est accessible, mais le modèle est inactif.

3 min readTechnologie

Bonjour, Habr ! Je suis Mikhaïl Shpakov, et je gère Statuser, un service de surveillance de la disponibilité des sites web. J'ai précédemment partagé le parcours de son développement et les enseignements tirés de la surveillance de 6 500 sites pendant un an. Récemment, un utilisateur de Statuser m'a contacté au sujet d'un problème avec son produit. Leur modèle d'IA était chargé d'interpréter les demandes des clients et de générer des brouillons de réponses pour les opérateurs. À un moment donné, cette fonctionnalité a cessé de fonctionner, mais un moniteur HTTP standard indiquait un statut vert pour le gateway d'IA. Les opérateurs de support ont signalé le problème, et non le système de surveillance. La cause était simple : le fournisseur avait mis le modèle sélectionné hors service, mais le gateway restait opérationnel. Le moniteur HTTP effectuait une requête GET classique, recevant une réponse réussie sans vérifier l'état du modèle. Diagnostiquer une telle défaillance est facile si l'on sait où chercher, mais la reconnaître au départ est plus difficile. Il existe une couche supplémentaire entre le gateway accessible et la fonctionnalité active du produit : le modèle lui-même. Lorsque le modèle cesse de répondre, le service entier reste généralement actif, mais certaines fonctionnalités, comme les suggestions et les réponses en chat, échouent. Cet incident a mis en évidence la nécessité d'un type de surveillance distinct qui vérifie non seulement l'adresse du gateway, mais envoie également une véritable requête au modèle sélectionné pour vérifier sa réponse. Ainsi, la surveillance des modèles d'IA a été introduite dans Statuser.

Technologie