Pierwsze kroki z Genkit Monitoring

Z tego krótkiego przewodnika dowiesz się, jak skonfigurować śledzenie Firebase Genkit dla wdrożonych funkcji Genkit, aby móc zbierać i wyświetlać dane telemetryczne w czasie rzeczywistym. Dzięki monitorowaniu Firebase Genkit możesz sprawdzać, jak funkcje Genkit działają w produkcji.

Najważniejsze funkcje Genkit Monitoring w Firebase:

  • Wyświetlanie danych ilościowych, takich jak opóźnienia, błędy i wykorzystanie tokenów funkcji Genkit.
  • Sprawdzanie śladów, aby wyświetlić kroki, dane wejściowe i dane wyjściowe Genkit, co ułatwia debugowanie i polepsza jakość.
  • Eksportowanie śladów produkcyjnych w celu przeprowadzenia oceny w Genkit.

Konfigurowanie Genkit Monitoring wymaga wykonania zadań zarówno w kodzie źródłowym, jak i w konsoli Google Cloud.

Zanim zaczniesz

  1. Jeśli nie masz jeszcze projektu Firebase, utwórz go.

    W konsoli Firebase kliknij Dodaj projekt i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie. Możesz utworzyć nowy projekt lub dodać usługi Firebase do istniejącego projektu Google Cloud.

  2. Upewnij się, że Twój projekt jest objęty abonamentem Blaze.

    Genkit Monitoring korzysta z danych telemetrycznych zapisywanych w Google Cloud Logging, Metrics i Trace, które są płatnymi usługami. Aby dowiedzieć się więcej o cenach i limitach bezpłatnego poziomu, przejdź na stronę Cennik Google Cloud Observability.

  3. Aby napisać funkcję Genkit, postępuj zgodnie z przewodnikiem na temat rozpoczynania pracy. Przygotuj kod do wdrożenia, korzystając z jednego z tych przewodników:

    1. Wdrażanie przepływów za pomocą Cloud Functions dla Firebase
    2. Wdrażanie przepływów za pomocą Cloud Run
    3. Wdrażanie przepływów na dowolnej platformie Node.js

Krok 1. Dodawanie wtyczki Firebase

Zainstaluj wtyczkę @genkit-ai/firebase w projekcie:

npm i save @genkit-ai/firebase

Zaimportuj plik enableFirebaseTelemetry do pliku konfiguracji Genkit (pliku, w którym inicjowany jest plik genkit(...)), i nazwij go:

import { enableFirebaseTelemetry } from '@genkit-ai/firebase';

enableFirebaseTelemetry();

Krok 2. Włączanie wymaganych interfejsów API

Sprawdź, czy w projekcie GCP są włączone te interfejsy API:

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

Krok 3. Konfigurowanie ustawień

Aby się uwierzytelnić w usługach Google Cloud Logging, Metrics i Trace, wtyczka Firebase musi używać konta usługi.

Przypisz te role do konta usługi skonfigurowanego do uruchamiania kodu w konsoli Google Cloud IAM. W przypadku Cloud Functions dla Firebase lub Cloud Run jest to zwykle domyślne konto usługi Compute.

  • Monitoring Metric Writer (roles/monitoring.metricWriter)
  • Agent Cloud Trace (roles/cloudtrace.agent)
  • Zapisujący logi (roles/logging.logWriter)

Krok 4. (Opcjonalnie) Testowanie konfiguracji lokalnie

Przed wdrożeniem możesz uruchomić kod Genkit lokalnie, aby sprawdzić, czy dane telemetryczne są zbierane i czy można je wyświetlić w panelu Genkit Monitoring.

  1. Aby wysyłać dane telemetryczne ze środowiska lokalnego, w kodzie Genkit ustaw wartość forceDevExport na true.

  2. Użyj konta usługi do uwierzytelniania i testowania konfiguracji.

    Za pomocą narzędzia wiersza poleceń Google Cloud uwierzytelnij się za pomocą konta usługi:

    gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
    
  3. Uruchom i wywołaj funkcję Genkit, a potem wyświetl dane na panelu Genkit Monitoring. Poczekaj maksymalnie 5 minut na zebranie pierwszych danych. Możesz skrócić ten czas, ustawiając wartość metricExportIntervalMillis w konfiguracji telemetrii.

  4. Jeśli dane nie pojawiają się w panelu Genkit Monitoring, zapoznaj się z instrukcjami dotyczącymi rozwiązywania problemów, aby dowiedzieć się, jak je debugować.

Krok 5. Ponownie skompiluj i wdróż kod

Aby zacząć zbierać dane, ponownie zbuduj, wdróż i uruchom funkcję Genkit. Gdy Genkit Monitoring otrzyma Twoje dane, możesz je wyświetlić w panelu Genkit Monitoring.