Microservice Status auslesen

Viele kennen ja den Spring Admin für die Microservices über die man den Status der Microservices abfragen kann. Diese Werte kann man auch per Python abrufen und z.B. in das eigene Überwachungssystem integrieren (Nagios, Zabbix etc.).

Für die Verbindung zu Eureka per Python gibt es das Projekt python-eureka-client.

Beispiel

# Imports
# -----------------------------------------------------------------------------
import logging
import os
from typing import Mapping, Any
from toml import load as load_toml
import py_eureka_client.eureka_client as eureka_client
# -----------------------------------------------------------------------------

# Main
# -----------------------------------------------------------------------------
client = eureka_client.init(eureka_server='http://enaio-server:7261/eureka/', app_name="StatusCheck", should_register=False)
client.applications.get_application()
for app in client.applications.applications:
    print(f"{app.name} {len(app.up_instances)}/{len(app.instances)}")
    print(app.up_instances[0].healthCheckUrl)

# -----------------------------------------------------------------------------

Das Ganze dürfte auch identisch bei Yuuvis RAD und yuuvis Momentum funktionieren.

1 Like