Systemdiagnosen durchführen

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation ansehen

Apigee unterstützt zwei Systemdiagnoseansätze. Welcher Ansatz für Sie der richtige ist, hängt davon ab, wie der Client Traffic Apigee erreicht.

  • Aktive Systemdiagnose: Für Architekturen, bei denen der Client-Traffic über einen Google Cloud Load-Balancer an Apigee weitergeleitet wird, der von einer verwalteten Instanzgruppe (Managed Instance Group, MIG) unterstützt wird. Der Load Balancer (oder Ihr Client) prüft aktiv einen der /healthz/* Endpunkte, um den Zustand der Instanz / Umgebung zu ermitteln. Der Load-Balancer führt ein Failover zwischen Regionen durch. Wenn Ihre Architektur MIGs verwendet, verwenden Sie weiterhin die aktive Systemdiagnose.
  • PSC-Systemdiagnose: Für Architekturen, bei denen der Client-Traffic über Private Service Connect (PSC) an Apigee weitergeleitet wird. Apigee überwacht die regionalen Instanzen für Sie und aktualisiert automatisch den Zustand pro Region. Es sind keine vom Client oder Load-Balancer initiierten Prüfungen erforderlich. Wenn Ihre Architektur PSC verwendet, aktivieren Sie die PSC Systemdiagnose.

Wählen Sie einen Tab aus, um weitere Informationen zu erhalten.

Aktive Systemdiagnose

Apigee stellt aktive Systemdiagnosen auf verschiedenen Ebenen bereit, die Sie je nach Anwendungsfall nutzen können.

  1. Systemdiagnose auf regionaler Ebene / Apigee-Instanz: Gibt den Zustand der gesamten Apigee-Instanz in einer Region zurück.
  2. Systemdiagnosen auf Umgebungsebene: Gibt den Zustand einer bestimmten Umgebung in der Apigee-Instanz zurück.
  3. Benutzerdefinierte Systemdiagnose über einen API-Proxy: Für komplexe Anwendungsfälle können Sie einen dedizierten API-Proxy als benutzerdefinierten Systemdiagnose-Endpunkt konfigurieren.

Systemdiagnose auf regionaler Ebene ausführen

Apigee bietet eine Systemdiagnose auf regionaler Ebene / Apigee-Instanz, um den allgemeinen Zustand der Apigee-Instanz in einer bestimmten Region zu bewerten. Dieses Systemdiagnosemuster, das häufig von Load-Balancern verwendet wird, ermittelt den Zustand von Apigee-Instanzen und führt regionale Failover durch. Sie können eine Systemdiagnose auf regionaler Ebene ausführen, indem Sie die Anfrage folgendermaßen erstellen:

  • Pfad der Systemdiagnose: /healthz/ingress
  • Anfrageheader hinzufügen: User-Agent: GoogleHC.
$ curl -H 'User-Agent: GoogleHC' https://$HOST/healthz/ingress
Apigee Ingress is healthy
Dabei steht $HOST für den Hostnamen, der in der Apigee-Umgebungsgruppe definiert ist, die vom Load-Balancer bereitgestellt wird.

Systemdiagnose auf Umgebungsebene ausführen

Apigee bietet eine Systemdiagnose auf Umgebungsebene, um den Zustand einer bestimmten Umgebung zu bewerten, die von der Apigee-Instanz bereitgestellt wird. Dieses Systemdiagnosemuster wird bevorzugt, wenn Sie regionale Failover basierend auf dem Zustand bestimmter kritischer/selektiver Umgebungen durchführen möchten. Sie können eine Systemdiagnose auf Umgebungsebene ausführen, indem Sie einen beliebigen gültigen API-Proxy in einer Umgebung aufrufen. Dazu erstellen Sie die Anfrage folgendermaßen:

  • Stellen Sie /healthz/ vor den Proxy-Basispfad.
  • Anfrageheader hinzufügen: User-Agent: GoogleHC.

Angenommen, /catalog ist ein gültiger Proxy-Basispfad, der in einer Umgebung bereitgestellt wird. Für eine Systemdiagnose rufen Sie den Proxy so auf:

$ curl -H 'User-Agent: GoogleHC' https://$HOST/healthz/catalog
Server Ready
Dabei steht $HOST für den Hostnamen, der in der Apigee-Umgebungsgruppe definiert ist, die vom Load-Balancer bereitgestellt wird.

Benutzerdefinierte Systemdiagnose über einen API-Proxy ausführen

Wenn Sie zusätzliche Validierungen durchführen möchten, können Sie eine benutzerdefinierte Systemdiagnoselogik in einem API-Proxy definieren, der in einer Umgebung bereitgestellt wird. Beispielsweise kann die Systemdiagnose fehlschlagen, wenn mehrere Umgebungen nicht erreichbar sind. Alternativ können Sie die Systemdiagnose auf Grundlage des Zielzustands oder der Latenz fehlschlagen.

In diesem Fall können Sie die Systemdiagnose mit einem regulären API-Aufruf an diesen Proxy senden.

Angenommen, Sie möchten den Zustand einer Umgebung namens prod prüfen. Stellen Sie einen API-Proxy in dieser Umgebung mit dem Basispfad /healthcheck-prod bereit. Rufen Sie den Proxy so auf, um den Zustand der prod-Umgebung zu prüfen, die von der Apigee-Instanz bereitgestellt wird:

$ curl https://$HOST/healthcheck-prod
Dabei steht $HOST für den Hostnamen, der in der Apigee-Umgebungsgruppe definiert ist, die vom Load-Balancer bereitgestellt wird.

Verwendungshinweise

Für Systemdiagnosen auf regionaler und Umgebungsebene:Wenn sie von den Google Cloud-Load-Balancern, legt der Load-Balancer den richtigen User-Agent fest. Wenn Ihr eigener Client diese API-Aufrufe für Systemdiagnosen verwendet, müssen Sie prüfen, ob der richtige User-Agent festgelegt ist.

Für Apigee Hybrid: Die Systemdiagnose ist nur ab Version 1.4 verfügbar.

PSC-Systemdiagnose

Apigee unterstützt Systemdiagnosen mit Private Service Connect (PSC), und ermöglicht so ein automatisches regionsübergreifendes Failover für Bereitstellungen in mehreren Regionen. Wenn Sie mehrere Apigee-Instanzen in verschiedenen Regionen haben, können Sie die PSC-Systemdiagnosen aktivieren, damit der Traffic automatisch zu einer fehlerfreien Region weitergeleitet wird, wenn die Apigee-Instanz in der aktiven Region fehlerhaft wird. Es ist keine Anfrage von Ihrem Client oder Load-Balancer erforderlich, um die Prüfung auszulösen. Google Cloud überwacht die Instanz kontinuierlich in Ihrem Namen und aktualisiert den Zustand automatisch.

Die PSC-Systemdiagnose wird im Apigee-Back-End konfiguriert. Sie müssen keine zusätzlichen Ressourcen bereitstellen, keinen Code schreiben und Ihre API-Proxys nicht ändern.

Vorbereitung

  • Sie haben eine Apigee-Organisation mit Pay as you go oder ein Abo.
  • Ihre Organisation hat mindestens zwei Apigee-Instanzen, die sich jeweils in einer anderen Google Cloud Region befinden.
  • Ihr Client-Traffic erreicht Apigee über Private Service Connect (PSC).
  • Jede Umgebung, Umgebungsgruppe, jeder API-Proxy, jeder freigegebene Ablauf und jede Ressource wird identisch auf allen Apigee-Instanzen bereitgestellt, die am Failover beteiligt sind. Inkonsistente Bereitstellungen können zu unerwartetem Verhalten führen, wenn der Traffic zwischen Regionen verschoben wird.

Aktivierungsmethode

Die PSC-Systemdiagnose ist eine Opt-in-Funktion, die von Google verwaltet wird. Wenn Sie die Funktion für Ihre Organisation aktivieren möchten, wenden Sie sich an Ihr Apigee-Account-Management-Team oder Apigee Support. Wenn die Funktion aktiviert ist, ist das automatische regionale Failover für alle Instanzen in Ihrer Organisation aktiv. Es ist keine weitere Konfiguration notwendig.

Empfehlungen zum Testen

Da die PSC-Systemdiagnose ein sofortiges, automatisches regionales Failover einführt, das sich direkt auf das Traffic-Routing auswirkt, empfehlen wir, die Funktion in einer Apigee-Nicht-Produktionsumgebung zu testen, bevor Sie sie für Ihre Produktionsorganisation aktivieren. Prüfen Sie , ob Failover und Wiederherstellung wie erwartet für Ihre API-Trafficmuster funktionieren und ob Ihre Clientanwendungen den Übergang transparent verarbeiten.

Wenn Sie ein Failoverszenario simulieren und Ihre Einrichtung validieren möchten, wenden Sie sich an Ihr Apigee-Account-Management-Team oder Apigee Support. Das Team kann Sie dabei unterstützen, Fehlerbedingungen in einer kontrollierten Umgebung zu verursachen, damit Sie das Failoververhalten beobachten können, bevor Sie die Funktion in der Produktion aktivieren.

Funktionsweise des Failovers

Wenn die PSC-Systemdiagnose feststellt, dass die Apigee-Instanz in Ihrer aktiven Region fehlerhaft ist, wird der Client-Traffic sofort und automatisch zu einer fehlerfreien Apigee-Instanz in einer anderen Region weitergeleitet. Wenn die fehlerhafte Instanz wiederhergestellt ist, wird der Traffic wieder in die ursprüngliche Region zurückgeleitet. Das Failover und die Wiederherstellung erfolgen transparent für Ihre Client Anwendungen.

Aktuelle Beschränkungen

  • Die PSC-Systemdiagnose erkennt derzeit nur vollständige Ausfälle der regionalen Infrastruktur. Sie wird nicht bei Vorfällen ausgelöst, bei denen der Traffic weiterhin fließen kann, auch wenn die Fehlerraten oder die Latenz erhöht sind. Eine umfassendere Systemdiagnose auf Komponentenebene ist für eine zukünftige Version geplant.

Zustand in Cloud Logging prüfen

Sie können die Ereignisse zum Zustand pro Region für Ihre Apigee-Instanzen in Cloud Logging beobachten. Führen Sie im Log-Explorer für das Google Cloud Projekt, in dem Ihre Apigee-Organisation gehostet wird, den folgenden Filter aus:

resource.type="compute.googleapis.com/NetworkEndpointGroupV2"

Weitere Informationen finden Sie unter Logs für zusammengesetzte Systemdiagnosen beobachten.

Sehen Sie sich für jede Region das Feld healthState in den entsprechenden Logeinträgen an. Ein Wert von HEALTHY gibt an, dass die Apigee-Instanz in dieser Region erreichbar ist und Traffic bereitstellt. Andere Werte geben an, dass die PSC-Systemdiagnose derzeit keinen Traffic an diese Region weiterleitet.