In dieser Kurzanleitung wird beschrieben, wie Sie Firebase Genkit Monitoring für Ihre bereitgestellten Genkit-Funktionen einrichten, damit Sie Telemetriedaten in Echtzeit erfassen und aufrufen können. Mit Firebase Genkit Monitoring können Sie die Leistung Ihrer Genkit-Funktionen in der Produktion im Blick behalten.
Zu den wichtigsten Funktionen von Firebase Genkit Monitoring gehören:
- Sie können quantitative Messwerte wie Latenz, Fehler und Tokennutzung von Genkit-Funktionen aufrufen.
- Sie können sich die Traces ansehen, um die Funktionsschritte, Eingaben und Ausgaben Ihres Genkits zu sehen und so beim Debuggen und bei der Qualitätsverbesserung zu helfen.
- Produktions-Traces exportieren, um Bewertungen in Genkit auszuführen
Für die Einrichtung von Genkit Monitoring müssen Sie sowohl in Ihrer Codebasis als auch in der Google Cloud Console Aufgaben erledigen.
Hinweis
Erstellen Sie ein Firebase-Projekt, falls noch nicht geschehen.
Klicken Sie in der Firebase Console auf Projekt hinzufügen und folgen Sie der Anleitung auf dem Bildschirm. Sie können ein neues Projekt erstellen oder einem vorhandenen Google Cloud-Projekt Firebase-Dienste hinzufügen.
Ihr Projekt muss den Blaze-Tarif haben.
Genkit Monitoring basiert auf Telemetriedaten, die in Google Cloud Logging, Metrics und Trace geschrieben werden. Dies sind kostenpflichtige Dienste. Auf der Seite Google Cloud Observability – Preise finden Sie Preisinformationen und Informationen zu den Limits der kostenlosen Stufe.
Folgen Sie der Anleitung, um eine Genkit-Funktion zu erstellen, und bereiten Sie Ihren Code mithilfe einer der folgenden Anleitungen für die Bereitstellung vor:
Schritt 1: Firebase-Plug-in hinzufügen
Installiere das @genkit-ai/firebase
-Plug-in in deinem Projekt:
npm i –save @genkit-ai/firebase
Importieren Sie enableFirebaseTelemetry
in die Genkit-Konfigurationsdatei (die Datei, in der genkit(...)
initialisiert wird) und rufen Sie sie auf:
import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
enableFirebaseTelemetry();
Schritt 2: Aktivieren der erforderlichen APIs:
Achten Sie darauf, dass die folgenden APIs für Ihr GCP-Projekt aktiviert sind:
Diese APIs sollten im API-Dashboard für Ihr Projekt aufgeführt sein.
Schritt 3: Berechtigungen einrichten
Das Firebase-Plug-in muss ein Dienstkonto verwenden, um sich bei den Google Cloud Logging-, Metrics- und Trace-Diensten zu authentifizieren.
Gewähren Sie dem Dienstkonto, das zum Ausführen Ihres Codes konfiguriert ist, in der Google Cloud IAM-Konsole die folgenden Rollen: Bei Cloud Functions for Firebase und/oder Cloud Run ist das in der Regel das Compute-Standarddienstkonto.
- Monitoring-Messwert-Autor (
roles/monitoring.metricWriter
) - Cloud Trace-Agent (
roles/cloudtrace.agent
) - Log-Autor (
roles/logging.logWriter
)
Schritt 4: Optional: Konfiguration lokal testen
Vor der Bereitstellung können Sie Ihren Genkit-Code lokal ausführen, um zu prüfen, ob Telemetry-Daten erfasst werden und im Genkit-Monitoring-Dashboard angezeigt werden.
Legen Sie in Ihrem Genkit-Code
forceDevExport
auftrue
fest, um Telemetry-Daten aus Ihrer lokalen Umgebung zu senden.Verwenden Sie Ihr Dienstkonto, um sich zu authentifizieren und Ihre Konfiguration zu testen.
Authentifizieren Sie sich mit dem Google Cloud CLI-Tool über das Dienstkonto:
gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
Führen Sie Ihre Genkit-Funktion aus und rufen Sie die Messwerte im Genkit-Monitoring-Dashboard auf. Es kann bis zu 5 Minuten dauern, bis der erste Messwert erfasst wird. Sie können diese Verzögerung verringern, indem Sie in der Telemetriekonfiguration
metricExportIntervalMillis
festlegen.Wenn im Genkit-Monitoring-Dashboard keine Messwerte angezeigt werden, findest du in der Anleitung zur Fehlerbehebung Schritte zur Fehlerbehebung.
Schritt 5: Code neu erstellen und bereitstellen
Erstellen Sie die Genkit-Funktion noch einmal, stellen Sie sie bereit und rufen Sie sie auf, um mit der Datenerhebung zu beginnen. Sobald Ihre Messwerte in Genkit Monitoring eingegangen sind, können Sie sie im Genkit Monitoring-Dashboard aufrufen.