Introduzione alla risoluzione dei problemi di Cloud Run

Questa pagina descrive le strategie comuni di risoluzione dei problemi relativi agli errori di Cloud Run. Personalized Service Health pubblica tutti gli incidenti di Cloud Run derivanti dall'infrastruttura Cloud de Confiance by S3NS sottostante per identificare interruzioni del servizio Cloud de Confiance by S3NS che interessano i tuoi progetti. Ti consigliamo anche di configurare gli avvisi sugli eventi di Personalized Service Health. Per informazioni sugli incidenti che interessano tutti Cloud de Confiance by S3NS i servizi, consulta la dashboard di Cloud de Confiance by S3NS 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 di risoluzione dei problemi di Cloud Run

Le sezioni seguenti spiegano come applicare strategie generali di risoluzione dei problemi per risolvere l'errore. Se continui a riscontrare errori anche dopo aver seguito i passaggi della guida per la risoluzione dei problemi, consulta la sezione Passaggi successivi.

Output di log validi utilizzando Cloud Logging

La risoluzione dei problemi della risorsa Cloud Run è più semplice se disponi di log validi per il debug. Devi scrivere i log in modo da correlare i log dei container a 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 i log dei container.

Analizzare le istanze utilizzando Esplora log

Ogni log delle richieste in Cloud Run contiene un campo instanceId che identifica un'istanza che gestisce la tua richiesta. A seconda del valore di concorrenza che specifichi, 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 portano all'arresto anomalo di un'istanza.

Il filtraggio di un'istanza ti consente di eseguire il debug di problemi di prestazioni specifici relativi ad avvii a freddo o latenze maggiori. Questi problemi potrebbero anche essere legati a variabili dichiarate in un ambito globale, quando il valore viene riutilizzato in richieste simultanee successive. Un esempio è quando crei un singolo oggetto globale pool di connessioni per l'istanza e poi lo utilizzi in più richieste.

Per filtrare un'istanza specifica in Esplora log:

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

    Vai a Esplora log

  2. Seleziona un progetto Cloud de Confiance by S3NS 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 di log per filtrare in base a un'istanza specifica.

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

Durante l'analisi delle istanze, puoi utilizzare le indagini di Gemini Cloud Assist per ottenere ulteriori informazioni sui log. Per saperne di più sui diversi modi per avviare un'indagine utilizzando Esplora log, consulta Risolvere i problemi relativi alle indagini di Gemini Cloud Assist nella documentazione di Gemini.

Risolvi le latenze delle richieste impreviste

Se riscontri problemi di latenza, procedi nel seguente modo:

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

    Per visualizzare le metriche di latenza delle singole richieste:

    1. Nella console Cloud de Confiance , vai alla pagina Cloud Run:

      Vai a Cloud Run

    2. Seleziona un servizio o un lavoro dagli elenchi disponibili nella navigazione a sinistra.

    3. Fai clic sulla scheda METRICHE per visualizzare la dashboard Latenze delle richieste.

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

    Per un elenco di tutte le metriche di Cloud Run disponibili e dettagli più approfonditi, consulta le metriche diCloud de Confiance by S3NS in Cloud Monitoring.

  2. Identifica la richiesta con latenza elevata per comprendere l'origine della latenza. Puoi utilizzare Cloud Trace o Cloud Logging per capire quanto tempo ha impiegato 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 saperne di più, consulta Integrazione con Cloud Logging.

    A volte, dipendenze come le richieste ad altri servizi potrebbero causare problemi di latenza. Per identificare queste richieste, devi avere una registrazione esplicita che le prenda di mira. Se non generi questi log, potrebbe sembrare che il problema di latenza abbia origine da un servizio Cloud Run.

    Inoltre, devi valutare i picchi di latenza nel contesto della finestra temporale scelta. Il significato di un picco è relativo: un picco elevato in una piccola finestra potrebbe essere trascurabile in una finestra più grande e viceversa. Pertanto, la finestra temporale influisce in modo significativo sull'interpretazione dei dati di latenza.

  3. Prova ad aumentare il numero di istanze minime per ridurre la latenza delle richieste in entrata ed evitare gli avvii a freddo. Ti consigliamo anche di modificare il codice sorgente e di regolare le impostazioni di scalabilità per limitare il numero di connessioni a un servizio di backend.

    Per saperne di più, consulta Ottimizzazione del rendimento.

Risolvere i problemi di connettività

Se il tuo servizio Cloud Run riscontra problemi di connettività, valuta queste strategie e questi strumenti per diagnosticare il problema:

  • Sidecar PCAP: per un'analisi più approfondita a livello di rete, esegui il deployment di un sidecar PCAP insieme al servizio Cloud Run. Questo container sidecar esegue un'acquisizione di pacchetti utilizzando tcpdump all'interno dello stesso spazio dei nomi di rete. Il sidecar si disaccoppia dal contenitore di ingresso principale e non richiede modifiche per eseguire un'acquisizione di pacchetti. I sidecar utilizzano anche le proprie risorse, il che impedisce a tcpdump di competere con le risorse che allochi al servizio principale.

  • Test di connettività e intelligence di rete per le revisioni di Cloud Run e le Cloud Run Functions: esegui controlli automatizzati sul percorso di rete tra la risorsa Cloud Run e un endpoint. In questo modo puoi trovare configurazioni errate che potrebbero bloccare il traffico verso o dalla tua risorsa Cloud Run quando ti connetti a un'istanza VM, a un indirizzo IP o a un servizio gestito da Google.

  • Esamina i log della risorsa Cloud Run: I log mostrano messaggi di errore relativi a problemi di connessione, ad esempio errori, timeout o connessioni rifiutate. Questi log spesso rivelano se il problema di connessione riguarda la tua applicazione o la rete.

Passaggi successivi

Se non riesci a trovare una soluzione al tuo problema nella documentazione di Cloud Run, segui questi passaggi: