Das Google Cloud-Plug-in exportiert die Telemetrie- und Logging-Daten von Firebase Genkit in die Operations-Suite von Google Cloud.
Vorbereitung
Wenn Sie Abläufe, die dieses Plug-in verwenden, lokal ausführen möchten, muss das Google Cloud CLI-Tool installiert sein.
Google Cloud-Konto einrichten
Für dieses Plug-in ist ein Google Cloud-Konto (registrieren Sie sich, falls Sie noch keines haben) und ein Google Cloud-Projekt erforderlich.
Bevor Sie das Plug-in hinzufügen, müssen die folgenden APIs für Ihr Projekt aktiviert sein:
Diese APIs sollten im API-Dashboard für Ihr Projekt aufgeführt sein.
Weitere Informationen zum Aktivieren und Deaktivieren von APIs
Konfiguration
Wenn Sie den Export in Google Cloud Tracing, Logging und Monitoring aktivieren möchten, importieren Sie das googlecloud
-Paket und führen Sie Init()
aus. Nach dem Aufruf von Init()
wird Ihre Telemetrie automatisch exportiert.
import "github.com/firebase/genkit/go/plugins/googlecloud"
if err := googlecloud.Init(
ctx,
googlecloud.Config{ProjectID: "your-google-cloud-project"},
); err != nil {
return err
}
Sie müssen das Google Cloud-Projekt angeben, in das Sie Telemetriedaten exportieren möchten. Es gibt auch einige optionale Parameter:
ForceExport
: Telemetriedaten auch dann exportieren, wenn sie in einer Entwicklungsumgebung ausgeführt werden (z. B. bei Verwendung vongenkit start
odergenkit flow:run
). So können Sie Ihre Integration schnell testen und Ihre ersten Ereignisse zum Monitoring in Google Cloud senden.Wenn Sie diese Option verwenden, müssen Sie Ihre Cloud-Anmeldedaten auch lokal verfügbar machen:
gcloud auth application-default login
MetricInterval
: Das Intervall in Nanosekunden, in dem Telemetry-Informationen exportiert werden sollen. Standardmäßig beträgt die Einstellung 60 Sekunden (60e9
Nanosekunden).LogLevel
: Die Mindestwichtigkeitsstufe der zu exportierenden Logeinträge. Standardmäßigslog.LevelInfo
.
Das Plug-in benötigt die Anmeldedaten für Ihr Google Cloud-Projekt. Wenn Sie Ihre Workflows in einer Google Cloud-Umgebung (z. B. Cloud Run) ausführen, werden die Anmeldedaten automatisch festgelegt. Für die Ausführung in anderen Umgebungen müssen Standardanmeldedaten für Anwendungen eingerichtet werden.
Produktionsüberwachung über die Operations Suite von Google Cloud
Nachdem ein Ablauf bereitgestellt wurde, rufen Sie die Operations-Suite von Google Cloud auf und wählen Sie Ihr Projekt aus.
Logs und Traces
Suchen Sie im seitlichen Menü nach „Logging“ und klicken Sie auf „Log-Explorer“.
Sie sehen alle Protokolle, die mit Ihrem bereitgestellten Ablauf verknüpft sind, einschließlich console.log()
. Logs mit dem Präfix [genkit]
sind Genkit-interne Logs, die Informationen enthalten, die für die Fehlerbehebung interessant sein können. Genkit-Protokolle im Format Config[...]
enthalten beispielsweise Metadaten wie die Temperatur und TopK-Werte für bestimmte LLM-Inferenzen. Protokolle im Format Output[...]
enthalten LLM-Antworten, während Input[...]
-Protokolle die Prompts enthalten. Cloud Logging verfügt über robuste ACLs, die eine detaillierte Kontrolle über sensible Logs ermöglichen.
Für bestimmte Logzeilen können Sie die entsprechenden Traces aufrufen, indem Sie auf das Dreipunkt-Menü klicken und „In Trace-Details ansehen“ auswählen.
Daraufhin wird ein Vorschaubereich für den Trace geöffnet, in dem Sie einen schnellen Überblick über die Details des Traces erhalten. Wenn Sie alle Details sehen möchten, klicken Sie rechts oben im Bereich auf den Link „Im Trace ansehen“.
Das wichtigste Navigationselement in Cloud Trace ist das Streudiagramm für Traces. Er enthält alle erfassten Traces in einem bestimmten Zeitraum.
Wenn Sie auf einen Datenpunkt klicken, werden die zugehörigen Details unter dem Streudiagramm angezeigt.
Die Detailansicht enthält die Flussform mit allen Schritten und wichtigen Zeitangaben. In Cloud Trace können alle Logs, die mit einem bestimmten Trace verknüpft sind, in dieser Ansicht verschachtelt werden. Wählen Sie im Drop-down-Menü „Protokolle und Ereignisse“ die Option „Maximal maximiert anzeigen“ aus.
Die resultierende Ansicht ermöglicht eine detaillierte Untersuchung von Logs im Kontext des Trace, einschließlich Aufforderungen und LLM-Antworten.
Messwerte
Wenn Sie sich alle Messwerte ansehen möchten, die Genkit exportiert, wählen Sie im Seitenmenü „Logging“ (Protokollierung) und dann „Metrics management“ (Messwertverwaltung) aus.
Die Console zur Verwaltung von Messwerten enthält eine tabellarische Ansicht aller erfassten Messwerte, einschließlich derer, die sich auf Cloud Run und die zugehörigen Umgebungen beziehen. Wenn Sie auf die Option „Workload“ klicken, wird eine Liste mit den von Genkit erfassten Messwerten angezeigt. Alle Messwerte mit dem Präfix genkit
sind interne Genkit-Messwerte.
Mit Genkit werden mehrere Messwertkategorien erfasst, darunter Messwerte auf Fluss-, Aktions- und Generierungsebene. Jeder Messwert hat mehrere nützliche Dimensionen, die eine robuste Filterung und Gruppierung ermöglichen.
Zu den gängigen Dimensionen gehören:
flow_name
– der Name des Ablaufs auf oberster Ebene.flow_path
: Der Span und sein übergeordneter Span sind bis zum Haupt-Span verkettet.error_code
: Bei einem Fehler der entsprechende Fehlercode.error_message
– bei einem Fehler die entsprechende Fehlermeldung.model
: Der Name des Modells.temperature
– der Wert der Inferenztemperatur.topK
: Der Wert für die Top-K-Inferenz.topP
– der InferenztopP-Wert
Messwerte auf Ablaufebene
Name | Dimensionen |
---|---|
genkit/flow/requests | flow_name, error_code, error_message |
genkit/flow/latency | flow_name |
Messwerte auf Aktionsebene
Name | Dimensionen |
---|---|
genkit/action/requests | flow_name, error_code, error_message |
genkit/action/latency | flow_name |
Messwerte auf Generierungsebene
Name | Dimensionen |
---|---|
genkit/ai/generate | flow_path, model, temperature, topK, topP, error_code, error_message |
genkit/ai/generate/input_tokens | flow_path, model, temperature, topK, topP |
Genkit/AI/generate/output_tokens | flow_path, model, temperature, topK, topP |
genkit/ai/generate/input_characters | flow_path, model, temperature, topK, topP |
genkit/ai/generate/output_characters | Flow_path, Modell, Temperatur, TopK, TopP |
genkit/ai/generate/input_images | Flow_path, Modell, Temperatur, TopK, TopP |
genkit/ai/generate/output_images | flow_path, model, temperature, topK, topP |
genkit/ai/generate/latency | flow_path, model, temperature, topK, topP, error_code, error_message |
Messwerte können über den Metrics Explorer visualisiert werden. Wählen Sie im seitlichen Menü „Logging“ aus und klicken Sie auf „Metrics Explorer“.
Wählen Sie einen Messwert aus, indem Sie auf das Drop-down-Menü „Messwert auswählen“ klicken, „Generic Node“, „Genkit“ und einen Messwert auswählen.
Die Visualisierung des Messwerts hängt von seinem Typ ab (Zähler, Histogramm usw.). Der Metrics Explorer bietet robuste Aggregations- und Abfragefunktionen, mit denen sich Messwerte nach verschiedenen Dimensionen grafisch darstellen lassen.
Telemetrieverzögerung
Es kann etwas dauern, bis die Telemetriedaten für eine bestimmte Ausführung eines Ablaufs in der Operations Suite von Google Cloud angezeigt werden. In den meisten Fällen beträgt diese Verzögerung weniger als eine Minute.
Kontingente und Limits
Es gibt mehrere Kontingente, die Sie beachten sollten:
- Cloud Trace-Kontingente
- 128 Byte pro Attributschlüssel
- 256 Byte pro Attributwert
- Cloud Logging-Kontingente
- 256 KB pro Logeintrag
- Kontingente für Cloud Monitoring
Kosten
Cloud Logging, Cloud Trace und Cloud Monitoring bieten großzügige kostenlose Stufen. Spezifische Preise finden Sie unter den folgenden Links: