Systemdiagnosen durchführen

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Apigee unterstützt zwei Systemdiagnoseansätze. Welche die richtige für Sie ist, hängt davon ab, wie Client-Traffic Apigee erreicht.

  • Aktive Systemdiagnose:Für Architekturen, bei denen Client-Traffic über einen Google Cloud Load Balancer, der von einer verwalteten Instanzgruppe (Managed Instance Group, MIG) unterstützt wird, an Apigee weitergeleitet wird. Der Load-Balancer (oder Ihr Client) führt aktiv Tests für einen der /healthz/*-Endpunkte aus, um den Zustand der Instanz bzw. Umgebung zu ermitteln. Der Load-Balancer führt dann einen Failover zwischen Regionen aus. Wenn in Ihrer Architektur MIGs verwendet werden, sollten Sie weiterhin die aktive Systemdiagnose verwenden.
  • PSC-Systemdiagnose:Für Architekturen, bei denen Client-Traffic über Private Service Connect (PSC) an Apigee weitergeleitet wird. Apigee überwacht die regionalen Instanzen für Sie und aktualisiert den regionalen Zustand automatisch. Es sind keine client- oder load-balancer-initiierten Tests erforderlich. Wenn in Ihrer Architektur PSC verwendet wird, aktivieren Sie die PSC-Systemdiagnose.

Wählen Sie einen Tab aus, um mehr zu erfahren.

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-Instanzebene, um den allgemeinen Zustand der Apigee-Instanz in einer bestimmten Region zu bewerten. Dieses Systemdiagnosemuster, das häufig von Load-Balancern verwendet wird, bestimmt den Status von Apigee-Instanzen und führt regionale Failovers 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, mit der der Zustand einer bestimmten Umgebung bewertet werden kann, die von der Apigee-Instanz bereitgestellt wird. Dieses Systemdiagnosemuster wird bevorzugt, wenn Sie regionale Failovers 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 dem Proxy-Basispfad /healthz/ voran.
  • 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. So rufen Sie den Proxy 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 ausgeführt werden, legt der Load-Balancer den richtigen User-Agent-Header fest. Wenn Ihr eigener Client diese API-Aufrufe der Systemdiagnose verwendet, müssen Sie prüfen, ob die 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 automatisches regionsübergreifendes Failover für Bereitstellungen in mehreren Regionen. Wenn Sie mehrere Apigee-Instanzen in mehreren Regionen haben, können Sie PSC-Systemdiagnosen aktivieren, damit der Traffic automatisch auf eine fehlerfreie Region umgeleitet 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 Abo-Abrechnung.
  • Ihre Organisation hat zwei oder mehr 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 optionale Funktion, die von Google verwaltet wird. Wenn Sie die Funktion für Ihre Organisation aktivieren lassen möchten, wenden Sie sich an Ihr Apigee-Account-Management-Team oder den Apigee-Support. Wenn diese Option 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 bei der PSC-Statusprüfung sofort ein automatisches regionales Failover erfolgt, 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 für Ihre API-Trafficmuster wie erwartet funktionieren und ob Ihre Clientanwendungen den Übergang transparent verarbeiten.

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

So funktioniert das Failover

Wenn bei der PSC-Systemdiagnose festgestellt wird, dass die Apigee-Instanz in Ihrer aktiven Region fehlerhaft ist, wird der Client-Traffic sofort und automatisch an eine fehlerfreie Apigee-Instanz in einer anderen Region weitergeleitet. Wenn die fehlerhafte Instanz wiederhergestellt ist, wird der Traffic wieder in die ursprüngliche Region geleitet. Failover und Wiederherstellung erfolgen für Ihre Clientanwendungen transparent.

Aktuelle Beschränkungen

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

Systemzustand in Cloud Logging prüfen

Sie können die Ereignisse zum Systemstatus Ihrer Apigee-Instanzen in den einzelnen Regionen in Cloud Logging ansehen. Führen Sie im Log-Explorer für das Google Cloud Projekt, in dem sich Ihre Apigee-Organisation befindet, den folgenden Filter aus:

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

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

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 verarbeitet. Andere Werte deuten darauf hin, dass der PSC-Systemdiagnosecheck derzeit keinen Traffic an diese Region weiterleitet.