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


141

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

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

回答:


179

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

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

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

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


go expvar golang.org/pkg/expvarは/ varzにかなり近い
ptman

@AhmeB:ビデオリンクをありがとう。それはhealthzについてもう少し理解するのに役立ちます
ギャツビーリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.