ロード・バランサのカスタムPythonヘルスチェック・ページの作成

ロード・バランサのカスタムPythonヘルスチェック・ページを開発します。

独自のカスタムPythonヘルスチェック・ページを作成して、ロード・バランサのより詳細なチェックを実行できます。Healthcheckは、アプリケーションの監視に使用できる単純なヘルスチェック関数を記述するためのライブラリです。ヘルスチェック・ページは、依存関係が正しく実行されていて、アプリケーションがHTTPリクエストに応答できることを示すために役立ちます。

竜巻またはフラスコ・アプリケーションを使用して、カスタム・ヘルスチェック・ページを作成できます。次の例は、トルネードを使用してヘルスチェック・ページを構成する方法を示しています。

import tornado.web
from healthcheck import TornadoHandler, HealthCheck, EnvironmentDump


# add your own check function to the healthcheck
def redis_available():
    client = _redis_client()
    info = client.info()
    return True, "Redis Test Pass"


health = HealthCheck(checkers=[redis_available])
app = tornado.web.Application(
    [
        ("/healthcheck", TornadoHandler, dict(checker=health)),
    ]
)
前述の例で、テスト・ページは、HTTPアプリケーションによるリスニングの確認以上のことを実行します。この例では、redisクライアントをチェックし、レスポンスを待機して、アプリケーション全体が正常であることを確認してから200ステータス・コードを返します。その他のコマンド例では、ディスク領域またはアップストリーム依存関係の可用性をチェックします。ヘルスチェック構成で、次を指定します:
  • /healthcheck (パスとして)

  • flask default 5000 (ポートとして)

  • 200 (ステータス・コードとして)