Einführung in die Fehlerbehebung bei Cloud Run

Auf dieser Seite werden die gängigen Strategien zur Fehlerbehebung bei Cloud Run-Fehlern beschrieben. In Personalized Service Health werden alle Cloud Run-Vorfälle veröffentlicht, die auf der zugrunde liegenden Google Cloud Infrastruktur beruhen, um Google Cloud Störungen bei Diensten zu erkennen, die sich auf Ihre Projekte auswirken. Sie sollten auch Benachrichtigungen für Ereignisse in Personalized Service Health einrichten. Informationen zu Vorfällen, die sich auf alle Google Cloud Dienste auswirken, finden Sie im Google Cloud Service Health-Dashboard.

In den folgenden Abschnitten der Anleitung zur Fehlerbehebung in Cloud Run finden Sie Informationen zur Behebung von Problemen im Zusammenhang mit Ihrer Cloud Run-Ressource:

Strategien zur Fehlerbehebung bei Cloud Run

In den folgenden Abschnitten wird erläutert, wie Sie allgemeine Strategien zur Fehlerbehebung anwenden können, um den Fehler zu beheben. Wenn weiterhin Fehler auftreten, nachdem Sie die Schritte in der Anleitung zur Fehlerbehebung ausgeführt haben, lesen Sie den Hilfeartikel Nächste Schritte.

Gute Protokolle mit Cloud Logging ausgeben

Die Fehlerbehebung bei Ihrer Cloud Run-Ressource ist einfacher, wenn Sie gute Protokolle für die Fehlerbehebung haben. Sie sollten Logs so schreiben, dass Ihre Containerlogs mit einem Anfragelog korreliert werden.

Mit korrelierten Logs können Sie die Anfrage identifizieren, die einer weiteren Analyse bedarf, die Anfrage-Trace-ID finden und die Ursache des Problems analysieren. Weitere Informationen zum Schreiben von Logs finden Sie unter Container-Logs schreiben.

Instanzen mit dem Log-Explorer untersuchen

Jedes Anfrageprotokoll in Cloud Run enthält ein Feld instanceId, das eine Instanz angibt, die Ihre Anfrage verarbeitet. Je nach angegebenem Nebenläufigkeitswert kann eine einzelne Instanz mehrere Anfragen gleichzeitig verarbeiten.

Wenn mehrere Instanzen gleichzeitig Protokolle ausgeben, sollten Sie Ihre Instanzen filtern, um die sequenziellen Anfragen zu identifizieren, die zu einem Instanzabsturz führen.

Wenn Sie eine Instanz filtern, können Sie bestimmte Leistungsprobleme beheben, die mit Kaltstarts oder erhöhten Latenzen zusammenhängen. Diese Probleme können auch mit global deklarierten Variablen zusammenhängen, wenn der Wert in nachfolgenden parallelen Anfragen wiederverwendet wird. Ein Beispiel hierfür ist das Erstellen eines einzelnen globalen Objekts für den Verbindungspool für die Instanz und die anschließende Verwendung in mehreren Anfragen.

So filtern Sie im Log-Explorer nach einer bestimmten Instanz:

  1. Rufen Sie in der Google Cloud Console die Seite „Log-Explorer“ auf:

    Zum Log-Explorer

  2. Wählen Sie oben auf der Seite ein vorhandenes Google Cloud Projekt aus oder erstellen Sie ein neues Projekt.

  3. Wählen Sie für einen Dienst die Ressource Cloud Run-Überarbeitung oder für einen Job die Ressource Cloud Run-Job aus.

  4. Maximieren Sie einen Logeintrag, um nach einer bestimmten Instanz zu filtern.

  5. Klicken Sie auf den Wert der Instanz-ID und wählen Sie Übereinstimmende Einträge anzeigen aus.

Unerwartete Latenzen bei Anfragen beheben

Wenn Probleme mit der Latenz auftreten, gehe so vor:

  1. Prüfen Sie, ob die Latenz alle Anfragen an Ihre Cloud Run-Ressource oder nur einen kleinen Prozentsatz davon betrifft. Cloud Run ist automatisch in Cloud Monitoring eingebunden. Es ist keine Einrichtung oder Konfiguration erforderlich.

    So rufen Sie Messwerte für die Latenz einzelner Anfragen auf:

    1. Rufen Sie in der Google Cloud Console die Seite „Cloud Run“ auf:

      Zu Cloud Run

    2. Wählen Sie den Dienst oder die Jobs aus der Liste aus.

    3. Klicken Sie auf den Tab MESSWERTE, um das Dashboard Anfragelatenzen aufzurufen.

    Wenn Sie Latenzmesswerte im Cloud Monitoring aufrufen möchten, wählen Sie in der Liste Messwerte die Option Cloud Run-Überarbeitung > Request_latencies > Anfragelatenz aus.

    Eine Liste aller verfügbaren Cloud Run-Messwerte und ausführlichere Informationen finden Sie unter Google Cloud Messwerte in Cloud Monitoring.

  2. Identifizieren Sie die Anfrage mit hoher Latenz, um die Ursache der Latenz zu ermitteln. Mit Cloud Trace oder Cloud Logging können Sie ermitteln, wie lange eine bestimmte Anfrage gedauert hat.

    Wenn Sie mit Cloud Logging Anfragen mit hoher Latenz identifizieren möchten, wenden Sie den Filter traceSampled=true an, um Logs in Cloud Logging mit Traces in Cloud Trace zu verknüpfen. Weitere Informationen finden Sie unter In Cloud Logging einbinden.

    Manchmal können Abhängigkeiten wie Anfragen an andere Dienste zu Latenzproblemen führen. Um solche Anfragen zu identifizieren, sollten Sie explizite Protokolle für die Anfragen haben. Wenn Sie keine solchen Logs ausgeben, kann es zu einem Latenzproblem kommen, das von einem Cloud Run-Dienst verursacht wird.

    Außerdem sollten Sie Latenzspitzen im Kontext des ausgewählten Zeitraums bewerten. Die Bedeutung eines Ausschlags ist relativ. Ein großer Ausschlag in einem kleinen Fenster kann in einem größeren Fenster vernachlässigbar sein und umgekehrt. Daher hat das Zeitfenster erhebliche Auswirkungen auf die Interpretation von Latenzdaten.

  3. Erhöhen Sie die Mindestanzahl von Instanzen, um die Latenz für eingehende Anfragen zu reduzieren und Kaltstarts zu vermeiden. Sie sollten auch Ihren Quellcode ändern und die Skalierungseinstellungen anpassen, um die Anzahl der Verbindungen zu einem unterstützenden Dienst zu begrenzen.

    Weitere Informationen finden Sie unter Leistung optimieren.

Probleme mit Gemini beheben

Sie können den Gemini Cloud Assist-Chat verwenden, um Protokolle zu analysieren und Fehler zu beheben. Mit der Unterstützung von Gemini können Sie Fehler schnell finden und beheben, indem Sie die Protokollanalysefunktionen des Tools nutzen. So sparen Sie wertvolle Zeit und Mühe.

So verwenden Sie Gemini Cloud Assist über die Google Cloud Console:

  1. Prüfen Sie, ob Gemini Cloud Assist für Ihr Google Cloud Nutzerkonto und ‑projekt eingerichtet ist.
  2. Richten Sie Ihre Cloud Run-Entwicklungsumgebung in Ihrem Google Cloud -Projekt ein und prüfen Sie, ob Sie die erforderlichen Bereitstellungsberechtigungen haben.

  3. Rufen Sie in der Console die Seite „Cloud Run“ auf. Google Cloud

    Zu Cloud Run

  4. Wählen Sie in der Symbolleiste der Console ein Google Cloud -Projekt aus. Verwenden Sie ein Projekt, das mit einer Projekt-ID verknüpft ist, die Sie eingereicht haben, nachdem Sie Zugriff auf Gemini Cloud Assist erhalten haben.

  5. Klicken Sie auf spark Gemini-KI-Chat öffnen oder schließen.

    Das Gemini-Steuerfeld wird geöffnet.

  6. Klicken Sie auf Akzeptieren, wenn Sie den Nutzungsbedingungen zustimmen.

  7. Wenn Sie eine Frage zu einer bestimmten Anwendung haben, rufen Sie die Seite mit der Ressource auf, bevor Sie Ihre Frage stellen. Beim Generieren einer Antwort fügt Gemini Informationen zur aktuellen Console-Seite und zum aktuellen Projekt ein.

  8. Geben Sie im Bereich Gemini einen Prompt ein.

    Die folgende Tabelle enthält einige Beispielprompts für die Verwendung von Gemini Cloud Assist mit Cloud Run.

    Eingabeaufforderung Art der Antwort
    „Können Sie mir diese Fehlermeldung erklären, die in meinen Cloud Run-Container-Logs angezeigt wird?“ Wenn in der Aufforderung keine bestimmte Fehlermeldung enthalten ist, enthält die Ausgabe eine Anleitung zur Fehlerbehebung für häufige Fehlermeldungen in Cloud Run-Containerlogs.
    „Können Sie mir diese Fehlermeldung erklären, die ich in den Logs für meinen Cloud Run-Dienst sehe?

    HTTP 429 The request was aborted because there was no available instance. The Cloud Run service might have reached its maximum container instance limit or the service was otherwise not able to scale to incoming requests. This might be caused by a sudden increase in traffic, a long container startup time or a long request processing time."
    Erklärung der Cloud Run-Fehlermeldung und Informationen zur Behebung des Fehlers.
    „Wie behebe ich die folgende Fehlermeldung bei der Bereitstellung meines Cloud Run-Dienstes?

    HTTP 404: Not found
    Häufige Ursachen für den Fehler und wie Sie ihn beheben können.
    „Mein Cloud Run-Dienst stürzt immer wieder ab. Woran könnte das liegen?“ Herangehensweise zur Ermittlung der Ursache und Behebung des Problems
    „Woher weiß ich, ob ein 5XX-Fehler in den Protokollen aufgrund eines Ausfalls des Google-Infrastrukturdienstes aufgetreten ist?“ Schritte zur Ermittlung der Ursache des 5XX-Fehlers
    „Wie finde ich die Ursache für diesen Fehler: com.google.apps.framework.request.BadRequestException Project PROJECT has serving status SYSTEM_DISABLED and cannot be modified?“ Das Google Cloud Projekt wurde auf Systemebene administrativ deaktiviert. Hier finden Sie Schritte zur weiteren Untersuchung der Ursache.
    „Warum kann ich über einen Browser auf meinen Cloud Run-Dienst zugreifen, wenn ich ingress=internal festgelegt habe?“ Eine Erläuterung des erwarteten Verhaltens, wenn die ingress-Einstellung auf internal konfiguriert wird. Umfasst auch andere Szenarien, in denen der Zugriff über Ihren Browser möglicherweise funktioniert.

Weitere Informationen finden Sie in den folgenden Ressourcen:

Nächste Schritte

Wenn Sie in der Cloud Run-Dokumentation keine Lösung für Ihr Problem finden, gehen Sie so vor: