Benutzerdefinierte Python-Healthcheck-Seite für Load Balancer erstellen

Entwickeln Sie eine benutzerdefinierte Python-Healthcheck-Seite für einen Load Balancer.

Sie können Ihre eigene benutzerdefinierte Python-Healthcheck-Seite erstellen, um eine gründlichere Prüfung des Load Balancers durchzuführen. Healthcheck ist eine Bibliothek zum Schreiben einfacher Health-Check-Funktionen, mit denen Sie Ihre Anwendung überwachen können. Eine HealthCheck-Seite ist nützlich, um sicherzustellen, dass Ihre Abhängigkeiten korrekt ausgeführt werden und Ihre Anwendung auf HTTP-Anforderungen reagieren kann.

Sie können die Anwendung Tornado oder Flask zum Erstellen der benutzerdefinierten Healthcheck-Seite verwenden. Das folgende Beispiel zeigt, wie Sie eine Healthcheck-Seite mit Tornado konfigurieren können.

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)),
    ]
)
Im obigen Beispiel prüft die Testseite nicht nur, dass die HTTP-Anwendung horcht. Bei der Prüfung in diesem Beispiel wird nach einem redis-Client gesucht und auf eine Antwort gewartet, um sicherzustellen, dass die gesamte Anwendung fehlerfrei ist, bevor ein 200-Statuscode zurückgegeben wird. Weitere Beispiele für Befehle sind die Prüfung des Datenträgerspeicherplatzes oder die Verfügbarkeit einer Upstreamabhängigkeit. Geben Sie in Ihrer Health-Check-Konfiguration Folgendes an:
  • Pfad: /healthcheck

  • Port: flask default 5000

  • Statuscode: 200