web-dev-qa-db-ja.com

アプリケーションのヘルスチェックに/ healthzを使用するという慣習はどこから来たのですか?

Kubernetes/Dockerエコシステムでは、/healthzをアプリケーションのヘルスチェックエンドポイントとして使用する規則があります。

「healthz」という名前はどこから来たのですか、その名前に関連付けられた特定のセマンティクスはありますか?

89
Andy Hume

歴史的には、Googleの内部慣行に基づいています。それらは「zページ」と呼ばれます。

zで終わる理由は、同じ名前(/statusなど)を持つ実際のアプリケーションエンドポイントとの衝突を減らすためです。詳細については、このトークを参照してください: https://vimeo.com/173610242

同様のエンドポイント(少なくともGoogle内)は/varz/statusz/rpczです。 Googleで開発されたサービスは、これらのエンドポイントを自動的に取得してヘルスとメトリックをエクスポートします。展開されたすべてのサービスから公開されたメトリック/ステータスを収集するツールがあります。

Prometheusなどのオープンソースツールは、有名なエンドポイントにアクセスしてアプリケーションからメトリックを収集することで、このパターンを実装します(Prometheusの元の作成者も元Google社員であるため)。同様に OpenCensus を使用すると、アプリからzページを公開し(理想的には別のポートで)、問題を診断できます。

107
AhmetB - Google