Creazione di una pagina di controllo dello stato Python personalizzato per il load balancer

Sviluppare una pagina di controllo dello stato Python personalizzata per un load balancer.

Puoi creare la tua pagina di controllo dello stato di Python personalizzata per eseguire un controllo più approfondito del load balancer. Healthcheck è una libreria per scrivere semplici funzioni di controllo dell'integrità che è possibile utilizzare per monitorare l'applicazione. Una pagina di controllo dello stato è utile per affermare che le dipendenze sono in esecuzione correttamente e che l'applicazione può rispondere alle richieste HTTP.

È possibile utilizzare l'applicazione Tornado o Flask per creare la pagina di controllo dello stato personalizzata. L'esempio riportato di seguito mostra come configurare una pagina di controllo dello stato utilizzando Tornado.

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)),
    ]
)
Nell'esempio precedente, la pagina di test non si limita a garantire l'ascolto dell'applicazione HTTP. Questo esempio verifica la presenza di un client redis e attende una risposta per assicurarsi che l'applicazione completa sia in buono stato prima di restituire un codice di stato 200. Alcuni altri esempi di comandi potrebbero essere il controllo dello spazio su disco o la disponibilità di una dipendenza a monte. Nella configurazione del controllo dello stato, specificare quanto segue:
  • /healthcheck come percorso

  • flask default 5000 come porta

  • 200 come codice di stato