Surveillance Genkit: dépannage

Je ne vois pas les traces et/ou les métriques dans Firebase Genkit Monitoring

  1. Assurez-vous que les API suivantes sont activées pour votre projet GCP sous-jacent :
  2. Assurez-vous que les rôles suivants sont appliqués au compte de service qui exécute votre code (ou au compte de service configuré dans les options du plug-in) dans Cloud IAM.
    • Rédacteur de métriques Monitoring (roles/monitoring.metricWriter)
    • Agent Cloud Trace (roles/cloudtrace.agent)
    • Rédacteur de journaux (roles/logging.logWriter)
  3. Examinez les journaux de l'application pour détecter les erreurs d'écriture dans Cloud Logging, Cloud Trace et/ou Cloud Monitoring. Sur l'infrastructure GCP, comme Firebase Functions et Cloud Run, même lorsque la télémétrie est mal configurée, les journaux vers stdout/stderr sont automatiquement ingérés par l'agent Cloud Logging, ce qui vous permet de diagnostiquer les problèmes dans la console Cloud Logging.

  4. Déboguer en local:

    Activez l'exportation pour les développeurs:

    enableFirebaseTelemetry({
      forceDevExport: true
    });
    

    Pour tester avec vos identifiants utilisateur personnels, utilisez la [gcloud CLI] pour vous authentifier auprès de Google Cloud. Cela peut aider à diagnostiquer les API activées/désactivées, mais ne teste pas la connexion par défaut de l'application gcloud auth.

    Vous pouvez également emprunter l'identité du compte de service pour tester un accès semblable à celui de la production. Vous devez appliquer le rôle IAM roles/iam. serviceAccountTokenCreator à votre compte utilisateur pour pouvoir usurper l'identité de comptes de service:

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

    Pour en savoir plus, consultez la documentation sur l'ADC.

Fiabilité de l'importation des données de télémétrie dans Firebase Functions / Cloud Run

Lorsque Genkit est hébergé dans Google Cloud Run (y compris Cloud Functions pour Firebase), l'importation des données de télémétrie peut être moins fiable lorsque le conteneur passe à l'état de cycle de vie "inactif". Si vous accordez de l'importance à une fiabilité accrue, envisagez de définir l'allocation de processeur sur toujours alloué dans la console Google Cloud.