Surveillance Genkit: dépannage

Les sections suivantes détaillent les solutions aux problèmes courants rencontrés par les développeurs lorsqu'ils utilisent Firebase Genkit Monitoring.

Je ne vois pas de traces ni de métriques dans la surveillance Firebase Genkit

  1. Assurez-vous que les API suivantes sont activées pour votre projet Google Cloud 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 Cloud Monitoring. Sur l'infrastructure Google Cloud, 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 ou 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 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.