Cette page décrit les stratégies de dépannage courantes pour les erreurs Cloud Run. Personalized Service Health publie tous les incidents Cloud Run qui découlent de l'infrastructure sous-jacente pour identifier les interruptions de service qui affectent vos projets. Google Cloud Google Cloud Vous pouvez également configurer des alertes sur les événements Personalized Service Health. Pour en savoir plus sur les incidents affectant tous les Google Cloud services, consultez le tableau de bord Google Cloud Service Health.
Pour résoudre les problèmes liés à votre ressource Cloud Run, consultez les sections suivantes du guide de dépannage de Cloud Run:
Stratégies de dépannage pour Cloud Run
Les sections suivantes expliquent comment appliquer des stratégies de dépannage générales pour résoudre votre erreur. Si le problème persiste même après avoir suivi les étapes du guide de dépannage, contactez l'assistance.
Générer des journaux de qualité à l'aide de Cloud Logging
La résolution des problèmes de votre ressource Cloud Run est plus facile si vous disposez de bons journaux pour le débogage. Vous devez écrire des journaux de manière à mettre en corrélation vos journaux de conteneur avec un journal de requêtes.
Avec les journaux corrélés, vous pouvez identifier la requête qui nécessite une analyse plus approfondie, trouver la trace de la requête et analyser l'origine du problème. Pour en savoir plus sur l'écriture de journaux, consultez la section Écrire des journaux de conteneur.
Analyser des instances à l'aide de l'explorateur de journaux
Chaque journal de requête dans Cloud Run contient un champ instanceId
qui identifie une instance qui gère votre requête. En fonction de la valeur de simultanéité que vous spécifiez, une seule instance peut gérer plusieurs requêtes en même temps.
Lorsque plusieurs instances émettent des journaux en même temps, vous devez filtrer vos instances pour identifier les requêtes séquentielles qui entraînent un plantage d'instance.
Filtrer une instance vous permet de déboguer des problèmes de performances spécifiques liés aux démarrages à froid ou aux latences accrues. Ces problèmes peuvent également être liés à des variables déclarées dans un champ d'application global, lorsque la valeur est réutilisée dans les requêtes simultanées ultérieures. Par exemple, lorsque vous créez un seul objet global de pool de connexions pour l'instance, puis que vous l'utilisez dans plusieurs requêtes.
Pour filtrer une instance spécifique dans l'explorateur de journaux, procédez comme suit:
Dans la console Google Cloud, accédez à la page Explorateur de journaux:
Sélectionnez un projet Google Cloud existant en haut de la page ou créez-en un.
Sélectionnez la ressource Cloud Run Revision pour un service ou Cloud Run Job pour un job.
Développez une entrée de journal pour filtrer par instance spécifique.
Cliquez sur la valeur de l'ID d'instance, puis sélectionnez Afficher les entrées correspondantes.
Résoudre les latences de requêtes inattendues
Si vous rencontrez des problèmes de latence, procédez comme suit:
Vérifiez si la latence affecte toutes les requêtes envoyées à votre ressource Cloud Run ou seulement un faible pourcentage. Cloud Run est automatiquement intégré à Cloud Monitoring, sans aucune installation ni configuration requise.
Pour afficher les métriques de latence des requêtes individuelles, procédez comme suit:
Dans la console Google Cloud, accédez à la page Cloud Run :
Sélectionnez le service ou les tâches dans la liste.
Cliquez sur l'onglet MÉTRIQUES pour afficher le tableau de bord Latences des requêtes.
Pour afficher les métriques de latence dans Cloud Monitoring, dans la liste Métriques, sélectionnez Révision dans Cloud Run > Request_latencies > Latence de la requête.
Pour obtenir la liste complète des métriques Cloud Run disponibles et des informations plus détaillées, consultez les métriquesGoogle Cloud dans Cloud Monitoring.
Identifiez la requête présentant une latence élevée pour comprendre la source de latence. Vous pouvez utiliser Cloud Trace ou Cloud Logging pour comprendre la durée d'une requête spécifique.
Pour identifier les requêtes présentant une latence élevée à l'aide de Cloud Logging, appliquez le filtre
traceSampled=true
pour corréler les journaux dans Cloud Logging avec les traces dans Cloud Trace. Pour en savoir plus, consultez la section Intégrer à Cloud Logging.Parfois, des dépendances telles que des requêtes envoyées à d'autres services peuvent entraîner des problèmes de latence. Pour identifier ces requêtes, vous devez disposer d'une journalisation explicite ciblant les requêtes. Si vous n'affichez pas de tels journaux, cela peut apparaître comme un problème de latence provenant d'un service Cloud Run.
En outre, vous devez envisager d'évaluer les pics de latence dans le contexte de la période choisie. L'importance d'un pic est relative. Un pic important dans une petite fenêtre peut être négligeable dans une fenêtre plus grande, et inversement. Par conséquent, la période a un impact significatif sur l'interprétation des données de latence.
Essayez d'augmenter le nombre d'instances minimales pour réduire la latence des requêtes entrantes et éviter les démarrages à froid. Vous devez également envisager de modifier votre code source et d'ajuster les paramètres de mise à l'échelle pour limiter le nombre de connexions à un service de secours.
Pour en savoir plus, consultez la section Optimiser les performances.