Monitoraggio di Genkit: risoluzione dei problemi

Non riesco a vedere tracce e/o metriche nel monitoraggio di Firebase Genkit

  1. Assicurati che le seguenti API siano abilitate per il progetto Google Cloud di base:
  2. Assicurati che i seguenti ruoli vengano applicati all'account di servizio che esegue il codice (o all'account di servizio configurato nell'ambito delle opzioni del plug-in) in Cloud IAM.
    • Monitoring Metric Writer (roles/monitoring.metricWriter)
    • Agente Cloud Trace (roles/cloudtrace.agent)
    • Logs Writer (roles/logging.logWriter)
  3. Controlla i log dell'applicazione per verificare la presenza di errori di scrittura in Cloud Logging, Cloud Trace e/o Cloud Monitoring. Nell'infrastruttura Google Cloud, come Firebase Functions e Cloud Run, anche quando la telemetria è configurata in modo errato, i log inviati a stdout/stderr vengono importati automaticamente dall'agente Cloud Logging, consentendoti di diagnosticare i problemi nella console Cloud Logging.

  4. Esegui il debug in locale:

    Attiva l'esportazione per gli sviluppatori:

    enableFirebaseTelemetry({
      forceDevExport: true
    });
    

    Per eseguire il test con le tue credenziali utente personali, utilizza [gcloud CLI] per autenticarti con Google Cloud. In questo modo puoi diagnosticare le API abilitate/disattivate, ma non viene testato il comando gcloud auth application-default login.

    In alternativa, l'impersonificazione dell'account di servizio ti consente di testare l'accesso come in produzione. Per poter simulare l'identità degli account di servizio, devi avere il ruolo IAM roles/iam. serviceAccountTokenCreator applicato al tuo account utente:

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

    Per ulteriori informazioni, consulta la documentazione dell'ADC.

Affidabilità del caricamento della telemetria in Firebase Functions / Cloud Run

Quando Genkit è ospitato in Google Cloud Run (incluse le Cloud Functions per Firebase), il caricamento dei dati di telemetria potrebbe essere meno affidabile quando il contenitore passa allo stato di ciclo di vita "inattivo". Se per te è importante una maggiore affidabilità, ti consigliamo di modificare la allocazione della CPU impostandola su sempre allocata nella console Google Cloud.