Questa guida rapida descrive come configurare il monitoraggio di Firebase Genkit per le funzionalità di Genkit di cui è stato eseguito il deployment, in modo da poter raccogliere e visualizzare i dati di telemetria in tempo reale. Con il monitoraggio di Firebase Genkit, puoi monitorare il rendimento delle funzionalità di Genkit in produzione.
Le funzionalità principali di Firebase Genkit Monitoring includono:
- Visualizzazione di metriche quantitative come latenza, errori e utilizzo dei token delle funzionalità di Genkit.
- Ispezione delle tracce per visualizzare i passaggi, gli input e gli output delle funzionalità di Genkit, per facilitare il debug e il miglioramento della qualità.
- Esportazione delle tracce di produzione per eseguire valutazioni in Genkit.
La configurazione di Genkit Monitoring richiede il completamento di attività sia nella base di codice sia nella console Google Cloud.
Prima di iniziare
Se non l'hai ancora fatto, crea un progetto Firebase.
Nella Console Firebase, fai clic su Aggiungi un progetto, quindi segui le istruzioni sullo schermo. Puoi creare un nuovo progetto o aggiungere i servizi Firebase a un progetto Google Cloud già esistente.
Assicurati che il progetto sia nel piano tariffario Blaze.
Genkit Monitoring si basa sui dati di telemetria scritti in Google Cloud Logging, Metrics e Trace, che sono servizi a pagamento. Visualizza la pagina Prezzi di Google Cloud Observability per i dettagli sui prezzi e per scoprire i limiti del livello senza costi.
Scrivi una funzionalità Genkit seguendo la guida introduttiva e prepara il codice per il deployment utilizzando una delle seguenti guide:
Passaggio 1: Aggiungi il plug-in Firebase
Installa il plug-in @genkit-ai/firebase
nel tuo progetto:
npm i –save @genkit-ai/firebase
Importa enableFirebaseTelemetry
nel file di configurazione Genkit (il
file in cui viene inizializzato genkit(...)
) e chiamalo:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry();
Passaggio 2: Abilita le API richieste
Assicurati che le seguenti API siano abilitate per il tuo progetto Google Cloud:
Queste API dovrebbero essere elencate nella dashboard delle API del progetto.
Passaggio 3: Configurare le autorizzazioni
Il plug-in Firebase deve utilizzare un account di servizio per autenticarsi con i servizi Google Cloud Logging, Metrics e Trace.
Concedi i seguenti ruoli all'account di servizio configurato per eseguire il tuo codice all'interno della console IAM di Google Cloud. Per Cloud Functions for Firebase e/o Cloud Run, in genere si tratta dell'account di servizio Compute predefinito.
- Monitoring Metric Writer (
roles/monitoring.metricWriter
) - Agente Cloud Trace (
roles/cloudtrace.agent
) - Logs Writer (
roles/logging.logWriter
)
Passaggio 4: (Facoltativo) Testa la configurazione localmente
Prima di eseguire il deployment, puoi eseguire il codice Genkit in locale per verificare che i dati di telemetria vengano raccolti e siano visualizzabili nella dashboard di monitoraggio di Genkit.
Nel codice Genkit, imposta
forceDevExport
sutrue
per inviare la telemetria dal tuo ambiente locale.Utilizza il tuo account di servizio per autenticare e testare la configurazione.
Con lo strumento Google Cloud CLI, esegui l'autenticazione utilizzando l'account di servizio:
gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
Esegui e richiama la funzionalità Genkit, quindi visualizza le metriche nella dashboard di monitoraggio di Genkit. Attendi fino a 5 minuti per raccogliere la prima metrica. Puoi ridurre questo ritardo impostando
metricExportIntervalMillis
nella configurazione della telemetria.Se le metriche non vengono visualizzate nella dashboard di monitoraggio di Genkit, consulta la guida alla risoluzione dei problemi per conoscere la procedura di debug.
Passaggio 5: Riesegui la build ed esegui il deployment del codice
Ricostruisci, esegui il deployment e richiama la funzionalità Genkit per iniziare a raccogliere i dati. Dopo che Genkit Monitoring ha ricevuto le metriche, puoi visualizzarle visitando la dashboard di Genkit Monitoring.