Introduzione alla risoluzione dei problemi di Cloud Run

Questa pagina descrive le strategie di risoluzione dei problemi comuni per gli errori di Cloud Run. Personalized Service Health pubblica tutti gli incidenti di Cloud Run derivanti dall' Google Cloud infrastruttura di base per identificare le Google Cloud interruzioni del servizio che interessano i tuoi progetti. Ti consigliamo inoltre di configurare avvisi per gli eventi di Personalized Service Health. Per informazioni sugli incidenti che interessano tutti i Google Cloud servizi, consulta la dashboard Google Cloud Service Health.

Per risolvere i problemi relativi alla risorsa Cloud Run, consulta le seguenti sezioni della guida alla risoluzione dei problemi di Cloud Run:

Strategie per la risoluzione dei problemi di Cloud Run

Le sezioni seguenti spiegano come applicare strategie di risoluzione dei problemi generali per risolvere l'errore. Se continui a riscontrare errori anche dopo aver seguito i passaggi descritti nella guida alla risoluzione dei problemi, contatta l'assistenza.

Generare log validi utilizzando Cloud Logging

La risoluzione dei problemi della risorsa Cloud Run è più semplice se disponi di log di buona qualità per il debug. Devi scrivere i log in modo da correlare i log dei container con un log delle richieste.

Con i log correlati, puoi identificare la richiesta che richiede un'ulteriore analisi, trovare la traccia della richiesta e analizzare la causa principale del problema. Per ulteriori informazioni sulla scrittura dei log, vedi Scrivere log dei container.

Esaminare le istanze utilizzando Esplora log

Ogni log delle richieste in Cloud Run contiene un campo instanceId che identifica un'istanza che gestisce la richiesta. A seconda del valore di concorrenza specificato, una singola istanza può gestire più richieste contemporaneamente.

Quando hai più istanze che emettono log contemporaneamente, devi filtrare le istanze per identificare le richieste sequenziali che causano un arresto anomalo dell'istanza.

Filtrare un'istanza ti consente di eseguire il debug di problemi di prestazioni specifici relativi agli avvii a freddo o all'aumento delle latenze. Questi problemi potrebbero essere legati anche alle variabili dichiarate in un ambito globale, quando il valore viene riutilizzato nelle richieste simultanee successive. Un esempio è la creazione di un singolo oggetto globale del pool di connessioni per l'istanza e il suo utilizzo in più richieste.

Per filtrare un'istanza specifica in Esplora log:

  1. Nella console Google Cloud, vai alla pagina Esplora log:

    Vai a Esplora log

  2. Seleziona un progetto Google Cloud esistente nella parte superiore della pagina o creane uno nuovo.

  3. Seleziona la risorsa Revisione Cloud Run per un servizio o Job Cloud Run per un job.

  4. Espandi una voce del log per filtrare in base a un'istanza specifica.

  5. Fai clic sul valore dell'ID istanza e seleziona Mostra voci corrispondenti.

Risolvere le latenze delle richieste impreviste

Se riscontri problemi di latenza:

  1. Controlla se la latenza influisce su tutte le richieste alla risorsa Cloud Run o solo su una piccola percentuale. Cloud Run è integrato automaticamente con Cloud Monitoring senza alcuna configurazione richiesta.

    Per visualizzare le metriche relative alla latenza delle singole richieste:

    1. Nella console Google Cloud, vai alla pagina Cloud Run:

      Vai a Cloud Run

    2. Seleziona il servizio o i job dall'elenco.

    3. Fai clic sulla scheda METRICHE per visualizzare la dashboard Tempi di latenza delle richieste.

    Per visualizzare le metriche sulla latenza in Cloud Monitoring, seleziona Revisione Cloud Run > Latenze di richiesta > Latenza di richiesta dall'elenco Metriche.

    Per un elenco di tutte le metriche di Cloud Run disponibili e dettagli più approfonditi, consulta Google Cloud metrics in Cloud Monitoring.

  2. Identifica la richiesta con una latenza elevata per comprendere la fonte della latenza. Puoi utilizzare Cloud Trace o Cloud Logging per capire quanto tempo è durata una determinata richiesta.

    Per identificare le richieste con latenza elevata utilizzando Cloud Logging, applica il filtro traceSampled=true per correlare i log in Cloud Logging con le tracce in Cloud Trace. Per ulteriori informazioni, consulta Eseguire l'integrazione con Cloud Logging.

    A volte le dipendenze, come le richieste ad altri servizi, possono causare problemi di latenza. Per identificare queste richieste, devi disporre di un logging esplicito che abbia come target le richieste. Se non generi questi log, potrebbe verificarsi un problema di latenza proveniente da un servizio Cloud Run.

    Inoltre, ti consigliamo di valutare gli picchi di latenza nel contesto della finestra temporale scelta. L'importanza di un picco è relativa: un picco elevato in una finestra piccola potrebbe essere trascurabile in una finestra più grande e viceversa. Pertanto, la finestra temporale influisce notevolmente sull'interpretazione dei dati sulla latenza.

  3. Prova ad aumentare il numero di istanze minime per ridurre la latenza per le richieste in arrivo e per evitare gli avvii a freddo. Ti consigliamo inoltre di modificare il codice sorgente e di modificare le impostazioni di scalabilità per limitare il numero di connessioni a un servizio di supporto.

    Per saperne di più, consulta Ottimizzare il rendimento.