Supervisión de Genkit: Solución de problemas

No puedo ver los seguimientos ni las métricas en Firebase Genkit Monitoring

  1. Asegúrate de que las siguientes APIs estén habilitadas para tu proyecto de GCP 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 o Cloud Monitoring. En la infraestructura de GCP, 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 [gcloud CLI] para autenticarte con Google Cloud. Esto puede ayudar a diagnosticar las APIs habilitadas o inhabilitadas, pero no prueba el acceso predeterminado de la aplicación de gcloud auth.

    Como alternativa, puedes suplantar la identidad de la 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 usurpar la identidad de 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.