Projet

Général

Profil

Development #86565

Revoir la vérification de disponibilité

Ajouté par Benjamin Dauvergne il y a 3 mois. Mis à jour il y a 3 mois.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
06 février 2024
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Actuellement la vérification de se base sur Resource.check_status() et est déclenchée par front (edge-triggered) par défaut, i.e. dès la première erreur sur un check_status on se prend un log d'erreur, une trace dans sentry et éventuellement si Resource.log_requests_error n'est pas à False d'autres log/trace pour l'erreur HTTP. De plus les messages sont tous mélangés parce que sentry se base du la chaîne de formatage qui est toujours la même "'connector "%s" (%s) is now down: %s'"[1].

Ça fait beaucoup pour un signal faible, on peut définir des durées plus longue dans AvailabilityParameters.notification_delays et obtenir du level-triggered mais personne ne le fait et c'est encore du travail à faire partout pour peu de gains.

Ma proposition :
  • faire de log_requests_error = False la valeur par défaut,
  • faire le boulot de availability() sur chaque appel HTTP (ou SFTP, les appels réseaux en général...) et pas seulement ceux dans check_status, check_status ne deviendra même plus nécessaire pour avoir une vérification de disponibilité, ne considérer down que les 5xx et 4xx, à chaque appel qui passe on revient "up",
  • n'émettre un log "down" que si, le connecteur est déjà down, ça dure depuis au moins 3 minutes,
  • passer la valeur par défaut de AvailabilityParameters.notification_delays à [3, 60, 180] et l'utiliser uniquement pour le mécanisme de la ligne précédente

Le top serait de pouvoir fermer un ticket sentry quand ça revient "up" mais je n'ai pas trouvé comment faire via l'API event classique.

1 https://sentry.entrouvert.org/entrouvert/publik/issues/120184/ "connector "<OpenGIS: Geocodage quartier>" (OpenGIS) is now down: 502 Server Error: Bad Gateway fo..."

Formats disponibles : Atom PDF