Мониторинг Genkit: устранение неполадок

В следующих разделах подробно описаны решения распространенных проблем, с которыми сталкиваются разработчики при использовании Firebase Genkit Monitoring.

Я не вижу трассировки или показателей в Firebase Genkit Monitoring

  1. Убедитесь, что для вашего базового проекта Google Cloud включены следующие API:
  2. Убедитесь, что следующие роли применены к учетной записи службы, на которой выполняется ваш код (или учетной записи службы, настроенной как часть параметров подключаемого модуля) в Cloud IAM .
    • Средство записи метрик мониторинга ( roles/monitoring.metricWriter )
    • Агент Cloud Trace ( roles/cloudtrace.agent )
    • Средство записи журналов ( roles/logging.logWriter )
  3. Проверьте журналы приложений на наличие ошибок при записи в Cloud Logging, Cloud Trace и Cloud Monitoring. В облачной инфраструктуре Google, такой как Firebase Functions и Cloud Run, даже если телеметрия настроена неправильно, журналы в stdout/stderr автоматически принимаются агентом облачной регистрации, что позволяет диагностировать проблемы в консоли облачной регистрации .

  4. Отладка локально:

    Включить экспорт разработки:

    enableFirebaseTelemetry({
      forceDevExport: true
    });
    

    Чтобы протестировать свои личные учетные данные пользователя, используйте интерфейс командной строки gcloud для аутентификации в Google Cloud. Это может помочь диагностировать включенные или отключенные API, но не проверяет вход в приложение gcloud по умолчанию.

    Альтернативно, выдавая себя за учетную запись службы, вы можете протестировать доступ, аналогичный рабочему. У вас должны быть roles/iam. serviceAccountTokenCreator Роль IAM roles/iam. serviceAccountTokenCreator , примененная к вашей учетной записи пользователя, чтобы олицетворять учетные записи служб:

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

    Дополнительную информацию см. в документации ADC .

Надежность загрузки телеметрии в функциях Firebase/Cloud Run

Когда Genkit размещается в Google Cloud Run (включая облачные функции для Firebase), загрузка данных телеметрии может быть менее надежной, поскольку контейнер переключается в состояние жизненного цикла «бездействия». Если для вас важна более высокая надежность, рассмотрите возможность изменения распределения ЦП на постоянное выделение в Google Cloud Console.