Genkit Monitoring: rozwiązywanie problemów

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

  1. Upewnij się, że w podstawowym projekcie GCP są włączone 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 lub Cloud Monitoring. W infrastrukturze GCP, takiej jak Firebase Functions czy Cloud Run, nawet wtedy, gdy konfiguracja telemetrii jest nieprawidłowa, logi do stdout/stderr są automatycznie przetwarzane przez agenta Cloud Logging, co umożliwia diagnozowanie problemów w konsoli Cloud Logging.

  4. Debugowanie lokalnie:

    Włącz eksportowanie wersji deweloperskiej:

    enableFirebaseTelemetry({
      forceDevExport: true
    });
    

    Aby przetestować swoje osobiste dane logowania, użyj interfejsu wiersza poleceń gcloud do uwierzytelnienia się w Google Cloud. Może to pomóc w diagnozowaniu włączonych i wyłączonych interfejsów API, ale nie testuje logowania domyślnego aplikacji uwierzytelniania gcloud.

    Możesz też przejąć tożsamość konta usługi, aby przetestować dostęp w środowisku produkcyjnym. Aby udawać 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.