Wtyczka Google Cloud do telemetrii i logowania

Wtyczka Google Cloud eksportuje dane telemetryczne i dane logowania Firebase Genkit do pakietu operacyjnego Google Cloud.

Wymagania wstępne

Jeśli chcesz lokalnie uruchamiać przepływy korzystające z tej wtyczki, musisz zainstalować narzędzie interfejsu wiersza poleceń Google Cloud.

Skonfiguruj konto Google Cloud

Ta wtyczka wymaga konta Google Cloud (zarejestruj się, jeśli jeszcze go nie masz) oraz projektu Google Cloud.

Przed dodaniem wtyczki upewnij się, że w projekcie włączone są te interfejsy API:

Te interfejsy API powinny być wymienione w panelu interfejsów API Twojego projektu.

Kliknij tutaj, aby dowiedzieć się więcej o włączaniu i wyłączaniu interfejsów API.

Konfiguracja

Aby włączyć eksportowanie do Google Cloud Tracking, Logging i Monitoring, zaimportuj pakiet googlecloud i uruchom Init(). Po wywołaniu funkcji Init() dane telemetryczne są eksportowane automatycznie.

import "github.com/firebase/genkit/go/plugins/googlecloud"
if err := googlecloud.Init(
	ctx,
	googlecloud.Config{ProjectID: "your-google-cloud-project"},
); err != nil {
	return err
}

Musisz określić projekt Google Cloud, do którego chcesz eksportować dane telemetryczne. Jest też kilka opcjonalnych parametrów:

  • ForceExport: eksportuj dane telemetryczne nawet wtedy, gdy pracujesz w środowisku programistycznym (np. w genkit start lub genkit flow:run). To szybki sposób na przetestowanie integracji i wysłanie pierwszych zdarzeń do monitorowania w Google Cloud.

    Jeśli użyjesz tej opcji, musisz też udostępnić dane logowania do Google Cloud lokalnie:

    gcloud auth application-default login
    
  • MetricInterval: interwał w nanosekundach, po którym mają być eksportowane informacje telemetryczne. Domyślnie jest to 60 sekund (60e9 nanosekund).

  • LogLevel: minimalny poziom ważności wpisów logu do wyeksportowania. Domyślnie slog.LevelInfo.

Wtyczka wymaga danych logowania do projektu Google Cloud. Jeśli uruchamiasz przepływy ze środowiska Google Cloud (Cloud Run itp.), dane logowania są ustawiane automatycznie. Uruchamianie w innych środowiskach wymaga skonfigurowania domyślnych danych logowania aplikacji.

Monitorowanie produkcyjne za pomocą pakietu operacyjnego Google Cloud

Po wdrożeniu przepływu przejdź do pakietu operacyjnego Google Cloud i wybierz swój projekt.

Logi i logi czasu

W menu bocznym znajdź „Logowanie” i kliknij „Eksplorator logów”.

Wyświetlą się wszystkie logi powiązane z wdrożonym przepływem, w tym logi console.log(). Każdy log poprzedzony prefiksem [genkit] to wewnętrzny log Genkit zawierający informacje, które mogą przydać się podczas debugowania. Na przykład dzienniki Genkit w formacie Config[...] zawierają metadane, takie jak temperatura i wartości topK dla konkretnych wnioskowania LLM. Logi w formacie Output[...] zawierają odpowiedzi LLM, a logi Input[...] zawierają prompty. Usługa Cloud Logging ma rozbudowane listy kontroli dostępu, które umożliwiają szczegółową kontrolę nad poufnymi logami.

W przypadku określonych wierszy logu można przejść do odpowiednich logów czasu, klikając ikonę rozszerzonego menu i wybierając „Wyświetl w szczegółach logu czasu”.

Spowoduje to wyświetlenie panelu podglądu logu czasu, w którym możesz szybko sprawdzić szczegóły logu czasu. Aby zobaczyć pełne szczegóły, kliknij link „Wyświetl w Trace” w prawym górnym rogu panelu.

Najbardziej widocznym elementem nawigacyjnym w Cloud Trace jest wykres punktowy logu czasu. Zawiera wszystkie zebrane ślady w danym przedziale czasu.

Kliknięcie każdego punktu danych spowoduje wyświetlenie jego szczegółów pod wykresem punktowym.

Widok szczegółowy zawiera kształt przepływu, w tym wszystkie kroki oraz ważne informacje o czasie. Usługa Cloud Trace ma możliwość przeplatania w tym widoku wszystkich logów powiązanych z danym logiem czasu. W menu „Logi i zdarzenia” wybierz opcję „Pokaż rozwinięte”.

Widok wynikowy umożliwia szczegółowe badanie logów w kontekście logu czasu, w tym promptów i odpowiedzi LLM.

Wskaźniki

Aby wyświetlić wszystkie wskaźniki wyeksportowane przez Genkit, wybierz „Logowanie” z bocznego menu, a następnie kliknij „Zarządzanie wskaźnikami”.

Konsola zarządzania wskaźnikami zawiera widok tabelaryczny wszystkich zebranych wskaźników, w tym tych dotyczących Cloud Run i jego otaczającego środowiska. Po kliknięciu opcji „Zadanie” pojawi się lista ze wskaźnikami zebranymi przez Genkit. Wszystkie dane z prefiksem genkit stanowią wewnętrzne dane Genkit.

Genkit zbiera kilka kategorii wskaźników, w tym dane na poziomie przepływu, działania i danych na poziomie generowania. Każdy rodzaj danych ma kilka przydatnych wymiarów, które ułatwiają skuteczne filtrowanie i grupowanie.

Typowe wymiary to:

  • flow_name – nazwa najwyższego poziomu przepływu.
  • flow_path – span z nadrzędnym łańcuchem spanów sięgających do spanu pierwiastka.
  • error_code – w przypadku błędu: odpowiedni kod błędu.
  • error_message – w przypadku błędu: odpowiedni komunikat o błędzie.
  • model – nazwa modelu.
  • temperaturewartość temperatury wnioskowania.
  • topKwartość wnioskowania.
  • topPwartość górnego P wnioskowania.

Dane na poziomie przepływu

Nazwa Wymiary
genkit/flow/requests Flow_name, error_code oraz error_message
genkit/flow/opóźnienie nazwa_przepływu

Dane na poziomie działania

Nazwa Wymiary
genkit/action/requests Flow_name, error_code oraz error_message
generowanie/działanie/opóźnienie nazwa_przepływu

Generowanie danych na poziomie

Nazwa Wymiary
genkit/ai/generate ścieżka_przepływu, model, temperatura, topK, topP, kod_błędu oraz komunikat_błędu
genkit/ai/generate/input_tokens ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/output_tokens ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/input_characters ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/output_characters ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/input_images ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generate/output_images ścieżka_przepływu, model, temperatura, topK, topP
genkit/ai/generowanie/opóźnienie ścieżka_przepływu, model, temperatura, topK, topP, kod_błędu oraz komunikat_błędu

Wizualizację wskaźników można wykonać za pomocą narzędzia Metrics Explorer. W bocznym menu wybierz „Logowanie” i kliknij „Metrics Explorer”.

Aby wybrać wskaźnik, kliknij menu „Wybierz wskaźnik”, wybierz „Węzeł ogólny”, „Genkit” i konkretny wskaźnik.

Wizualizacja danych zależy od ich typu (licznik, histogram itp.). Metrics Explorer udostępnia zaawansowane narzędzia do agregacji i wykonywania zapytań, które ułatwiają wykresy danych według różnych wymiarów.

Opóźnienie telemetryczne

Może wystąpić niewielkie opóźnienie w wyświetlaniu danych telemetrycznych dotyczących konkretnego wykonania przepływu w pakiecie operacyjnym Cloud. W większości przypadków opóźnienie nie przekracza 1 minuty.

Limity

Istnieje kilka limitów, o których należy pamiętać:

Koszt

Usługi Cloud Logging, Cloud Trace i Cloud Monitoring mają duże poziomy bezpłatne. Konkretne ceny znajdziesz na tych stronach: