API de vérification de santé

It would be nice to have some sort of health check API. We recently faced an issue with an update and Discourse was producing 500 errors.

However, curl returned 200:

curl -I https://forum.gitlab.com
HTTP/2 200
server: nginx
2 « J'aime »

This exists, see

/srv/status

15 « J'aime »

Ah, thank you! I was searching “health check” and that didn’t yield any results.

2 « J'aime »

Post is 404. What are the endpoints?

I’ve updated my post.

2 « J'aime »

Actually I don’t think /srv/status would catch migration issues like the one mentioned above…

(and it would be pretty hard to build a check that does catch issues like that one)

2 « J'aime »

Yes… /srv/status is there as a very cheap test, all it does is ensures the apps middleware stack is working.

To catch issues where you auto deploy I would recommend monitoring 200s, if there is a large increase in non 200s alert.

5 « J'aime »

L’URL https://discourse.example.org/srv/status serait-elle un bon endroit pour diriger un moniteur de disponibilité ? Je pense qu’il pourrait ne pas suffire d’avoir une mesure fiable de « le site est-il en ligne », mais il serait agréable d’avoir quelque chose qui génère moins de charge sur le système à des fins de surveillance.

(Sinon, y aurait-il des projets pour étendre les composants répertoriés sur ce point de terminaison ?)

3 « J'aime »

Oui, c’est un endroit raisonnable. Vous pouvez également pointer vers un sujet spécifique et rechercher du texte si vous souhaitez quelque chose de plus avancé.

7 « J'aime »

Oui, nous utilisions /about, mais nous penchons plutôt pour cette option.

Mon ancienne mentalité d’ops/on-call s’est réveillée pour me faire penser que cela pourrait encore être intéressant (et parfois utile pour le dépannage) si c’était quelque chose comme :

db ok
middleware ok
whatever-else ok
...
all systems ok
4 « J'aime »