Genkit Monitoring: rozwiązywanie problemów

W następnych sekcjach znajdziesz szczegółowe rozwiązania typowych problemów, które mogą wystąpić podczas korzystania z nadzoru Genkit w Firebase.

Nie widzę śladów ani danych w monitorowaniu Genkit w Firebase

  1. Sprawdź, czy w podstawowym projekcie Google Cloud włączone są te interfejsy API:
  2. Sprawdź, czy do konta usługi, które uruchamia Twój kod (lub do konta usługi skonfigurowanego w ramach opcji wtyczki) w Cloud IAM zostały zastosowane te role.
    • Monitoring Metric Writer (roles/monitoring.metricWriter)
    • Agent Cloud Trace (roles/cloudtrace.agent)
    • Zapisujący logi (roles/logging.logWriter)
  3. Sprawdź, czy w logach aplikacji nie ma błędów zapisywanych w Cloud Logging, Cloud Trace i Cloud Monitoring. W infrastrukturze Google Cloud, takiej jak Firebase Functions czy Cloud Run, nawet gdy telemetria jest źle skonfigurowana, logi do stdout/stderr są automatycznie przetwarzane przez agenta Cloud Logging, co pozwala Ci diagnozować problemy w konsoli Cloud Logging.

  4. Debugowanie lokalnie:

    Włącz eksportowanie wersji deweloperskiej:

    enableFirebaseTelemetry({
      forceDevExport: true
    });
    

    Aby przetestować swoje osobiste dane logowania, użyj gcloud CLI do uwierzytelniania się w Google Cloud. Może to pomóc w diagnozowaniu włączonych lub wyłączonych interfejsów API, ale nie umożliwia przetestowania logowania domyślnego aplikacji uwierzytelniania gcloud.

    Możesz też podszyć się pod konto usługi, aby przetestować dostęp w sytuacji zbliżonej do produkcyjnej. Aby podszywać się pod konta usługi, musisz mieć na swoim koncie użytkownika rolę uprawnień roles/iam. serviceAccountTokenCreator.

    gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>

    Więcej informacji znajdziesz w dokumentacji ADC.

niezawodność przesyłania danych telemetrycznych w Firebase Functions / Cloud Run.

Gdy Genkit jest hostowany w Google Cloud Run (w tym w Cloud Functions dla Firebase), przesyłanie danych telemetrycznych może być mniej niezawodne, ponieważ kontener przechodzi w stan cyklu życia „nieaktywny”. Jeśli większa niezawodność jest dla Ciebie ważna, rozważ zmianę alokacji procesora na alokację zawsze w konsoli Google Cloud.