Kubernetes/Dockerエコシステムでは、/healthz
をアプリケーションのヘルスチェックエンドポイントとして使用する規則があります。
「healthz」という名前はどこから来たのですか、その名前に関連付けられた特定のセマンティクスはありますか?
歴史的には、Googleの内部慣行に基づいています。それらは「zページ」と呼ばれます。
z
で終わる理由は、同じ名前(/status
など)を持つ実際のアプリケーションエンドポイントとの衝突を減らすためです。詳細については、このトークを参照してください: https://vimeo.com/173610242
同様のエンドポイント(少なくともGoogle内)は/varz
、/statusz
、/rpcz
です。 Googleで開発されたサービスは、これらのエンドポイントを自動的に取得してヘルスとメトリックをエクスポートします。展開されたすべてのサービスから公開されたメトリック/ステータスを収集するツールがあります。
Prometheusなどのオープンソースツールは、有名なエンドポイントにアクセスしてアプリケーションからメトリックを収集することで、このパターンを実装します(Prometheusの元の作成者も元Google社員であるため)。同様に OpenCensus を使用すると、アプリからzページを公開し(理想的には別のポートで)、問題を診断できます。