Dans l'écosystème Kubernetes/Docker, il existe une convention d'utilisation de /healthz
comme point de contrôle de la santé des applications.
D'où vient le nom 'healthz' et existe-t-il une sémantique particulière associée à ce nom?
Il provient historiquement des pratiques internes de Google. Ils s'appellent "z-pages".
La raison pour laquelle il se termine par z
est pour réduire les collisions avec les noeuds finaux d'application réels portant le même nom (comme /status
). Voir cette discussion pour en savoir plus: https://vimeo.com/173610242
Les points finaux similaires (au moins dans Google) sont /varz
, /statusz
, /rpcz
. Les services développés chez Google permettent automatiquement à ces points de terminaison d'exporter leur intégrité et leurs métriques. Il existe des outils qui collectent les métriques/statuts exposés de tous les services déployés.
Les outils open source tels que Prometheus implémentent ce modèle (car les auteurs originaux de Prometheus sont également d'anciens utilisateurs de Googlers) en s'appuyant sur un noeud final bien connu pour collecter des métriques à partir de votre application. De même, OpenCensus vous permet d’exposer les z-pages de votre application (idéalement sur un autre port) pour diagnostiquer les problèmes.