Where does the convention of using /healthz for application health checks come from?
Asked Answered
A

1

325

In the Kubernetes/Docker ecosystem there is a convention of using /healthz as a health-check endpoint for applications.

Where does the name 'healthz' come from, and are there any particular semantics associated with that name?

Asparagine answered 12/4, 2017 at 22:59 Comment(0)
P
419

It historically comes from Google’s internal practices. They're called "z-pages".

The reason it ends with z is to reduce collisions with actual application endpoints with the same name (like /status). See this talk for more: https://vimeo.com/173610242

Similar endpoints (at least inside Google) are /varz, /statusz, /rpcz. Services developed at Google automatically get these endpoints to export their health and metrics and there are tools that collect the exposed metrics/statuses from all the deployed services.

Open source tools like Prometheus implement this pattern (since original authors of Prometheus are also ex-Googlers) by coming to a well-known endpoint to collect metrics from your application. Similarly OpenCensus allows you to expose z-pages from your app (ideally on a different port) to diagnose problems.

Pusey answered 12/4, 2017 at 23:12 Comment(4)
Go expvar golang.org/pkg/expvar is quite close to /varzQuinque
@AhmeB: Thank you for the video link. it help me understand little more about healthzWretch
Question is answered at 26:55 in the talk (but this answer already contains pretty much the entire answer given by Kelsey).Angelesangelfish
Ask about the employee who used the handle @statuszSpectrogram

© 2022 - 2024 — McMap. All rights reserved.