En esta página, se describen las estrategias comunes de solución de problemas para errores de Cloud Run. Personalized Service Health publica todos los incidentes de Cloud Run que provienen de la infraestructura subyacente de Google Cloud para identificar Google Cloud interrupciones del servicio que afectan tus proyectos. También debes considerar configurar alertas en los eventos de Personalized Service Health. Para obtener información sobre los incidentes que afectan a todos los Google Cloud servicios, consulta el panel Google Cloud Service Health.
Consulta las siguientes secciones de la guía de solución de problemas de Cloud Run para resolver problemas relacionados con tu recurso de Cloud Run:
Estrategias para solucionar problemas de Cloud Run
En las siguientes secciones, se explica cómo puedes aplicar estrategias generales de solución de problemas para resolver el error. Si sigues encontrando errores incluso después de seguir los pasos de la guía de solución de problemas, comunícate con el equipo de asistencia.
Genera registros correctos con Cloud Logging
Solucionar problemas de tu recurso de Cloud Run es más fácil si tienes buenos registros para la depuración. Debes escribir registros de una manera que corralacione los registros de contenedores con un registro de solicitudes.
Con los registros correlacionados, puedes identificar la solicitud que necesita un análisis adicional, encontrar el seguimiento de la solicitud y analizar la causa raíz del problema. Para obtener más información sobre cómo escribir registros, consulta Cómo escribir registros de contenedores.
Cómo investigar instancias con el Explorador de registros
Cada registro de solicitud en Cloud Run contiene un campo instanceId
que identifica una instancia que controla tu solicitud. Según el valor de simultaneidad que
specifiques, una sola instancia puede controlar varias solicitudes al mismo tiempo.
Cuando tienes varias instancias que emiten registros a la vez, debes filtrar tus instancias para identificar las solicitudes secuenciales que conducen a una falla de la instancia.
Filtrar una instancia te permite depurar problemas de rendimiento específicos relacionados con los inicios en frío o el aumento de la latencia. Estos problemas también podrían estar vinculados a variables declaradas en un alcance global, cuando el valor se vuelve a usar en solicitudes simultáneas posteriores. Un ejemplo de esto es cuando creas un solo objeto global de grupo de conexiones para la instancia y, luego, lo usas en varias solicitudes.
Para filtrar una instancia específica en el Explorador de registros, sigue estos pasos:
En la consola de Google Cloud, ve a la página Explorador de registros:
Selecciona un proyecto Google Cloud existente en la parte superior de la página o crea un proyecto nuevo.
Selecciona el recurso Revisión de Cloud Run para un servicio o Trabajo de Cloud Run para un trabajo.
Expande una entrada de registro para filtrar por una instancia específica.
Haz clic en el valor del ID de la instancia y selecciona Mostrar entradas coincidentes.
Cómo resolver latencias de solicitudes inesperadas
Si tienes problemas con la latencia, haz lo siguiente:
Verifica si la latencia afecta a todas las solicitudes a tu recurso de Cloud Run o solo a un pequeño porcentaje. Cloud Run se integra automáticamente en Cloud Monitoring sin necesidad de configuración.
Para ver las métricas de latencia de solicitudes individuales, sigue estos pasos:
En la consola de Google Cloud, ve a la página Cloud Run:
Selecciona el servicio o los trabajos de la lista.
Haz clic en la pestaña METRICAS para mostrar el panel Latencias de solicitudes.
Para ver las métricas de latencia en Cloud Monitoring, selecciona en la lista Métricas, Revisión de Cloud Run > Request_latencies > Latencia de la solicitud.
Para obtener una lista de todas las métricas disponibles de Cloud Run y detalles más detallados, consulta las métricas deGoogle Cloud en Cloud Monitoring.
Identifica la solicitud con latencia alta para comprender la fuente de latencia. Puedes usar Cloud Trace o Cloud Logging para comprender cuánto tiempo tardó una solicitud en particular.
Para identificar solicitudes con latencia alta con Cloud Logging, aplica el filtro
traceSampled=true
para correlacionar los registros de Cloud Logging con los seguimientos de Cloud Trace. Para obtener más información, consulta Cómo realizar la integración con Cloud Logging.A veces, las dependencias, como las solicitudes a otros servicios, pueden causar problemas de latencia. Para identificar esas solicitudes, debes tener un registro explícito segmentado para las solicitudes. Si no generas esos registros, podría aparecer como un problema de latencia que se origina en un servicio de Cloud Run.
Además, deberías considerar evaluar los aumentos repentinos de latencia en el contexto del período elegido. La importancia de un aumento repentino es relativa; un aumento repentino grande en un período pequeño puede ser despreciable en un período más grande y viceversa. Por lo tanto, el período afecta significativamente la interpretación de los datos de latencia.
Intenta aumentar la cantidad de instancias mínimas para reducir la latencia de las solicitudes entrantes y evitar los inicios en frío. También debes considerar modificar tu código fuente y ajustar la configuración de escalamiento para limitar la cantidad de conexiones a un servicio de respaldo.
Para obtener más información, consulta Optimiza el rendimiento.