Supervisión de Genkit: Solución de problemas

En las siguientes secciones, se detallan las soluciones a problemas comunes que los desarrolladores encuentran cuando usan Firebase Genkit Monitoring.

No puedo ver registros ni métricas en el monitoreo de Firebase Genkit

  1. Asegúrate de que las siguientes APIs estén habilitadas para tu proyecto de Google Cloud subyacente:
  2. Asegúrate de que se apliquen los siguientes roles a la cuenta de servicio que ejecuta tu código (o la cuenta de servicio que se configuró como parte de las opciones del complemento) en IAM de Cloud.
    • Escritor de métricas de Monitoring (roles/monitoring.metricWriter)
    • Agente de Cloud Trace (roles/cloudtrace.agent)
    • Escritor de registros (roles/logging.logWriter)
  3. Inspecciona los registros de la aplicación en busca de errores de escritura en Cloud Logging, Cloud Trace y Cloud Monitoring. En la infraestructura de Google Cloud, como Firebase Functions y Cloud Run, incluso cuando la telemetría está mal configurada, el agente de Cloud Logging ingiere automáticamente los registros de stdout/stderr, lo que te permite diagnosticar problemas en la consola de Cloud Logging.

  4. Cómo depurar de forma local:

    Habilita la exportación para desarrolladores:

    enableFirebaseTelemetry({
      forceDevExport: true
    });
    

    Para probar con tus credenciales de usuario personales, usa la CLI de gcloud para autenticarte con Google Cloud. Esto puede ayudar a diagnosticar las APIs habilitadas o inhabilitadas, pero no prueba el comando gcloud auth application-default login.

    Como alternativa, puedes usar la identidad temporal como cuenta de servicio para probar el acceso similar al de producción. Debes tener el rol de IAM roles/iam. serviceAccountTokenCreator aplicado a tu cuenta de usuario para suplantar cuentas de servicio:

    gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>

    Consulta la documentación del ADC para obtener más información.

Confiabilidad de la carga de la telemetría en Firebase Functions o Cloud Run

Cuando Genkit se aloja en Google Cloud Run (incluidas las Cloud Functions para Firebase), la carga de datos de telemetría puede ser menos confiable a medida que el contenedor cambia al estado del ciclo de vida "inactivo". Si la confiabilidad es importante para ti, considera cambiar la asignación de CPU a siempre asignada en la consola de Google Cloud.