在 Kubernetes/Docker 生态系统中,有一个惯例,即使用 /healthz
作为应用程序的健康检查终端点。
这个名字“healthz”来自何处,是否有与该名称相关的特定语义?
在 Kubernetes/Docker 生态系统中,有一个惯例,即使用 /healthz
作为应用程序的健康检查终端点。
这个名字“healthz”来自何处,是否有与该名称相关的特定语义?
这源于谷歌内部的做法,被称为"z-pages"。
它以字母 z
结尾是为了减少与实际应用程序端点名称的冲突(例如 /status
)。有关更多信息,请参见此演讲:https://vimeo.com/173610242
类似的端点(至少在谷歌内部)包括 /varz
、/statusz
、/rpcz
。在谷歌开发的服务中,会自动获得这些端点来导出其健康和指标,并且有工具可以收集所有部署服务的暴露度量/状态。
开源工具,如 Prometheus 实现了这种模式(因为 Prometheus 的原始作者也是前谷歌员工),通过访问已知的端点来从应用程序收集指标。同样地,OpenCensus 允许您从应用程序公开 z-pages(最好在不同的端口上)以诊断问题。