В следующих разделах подробно описаны решения распространенных проблем, с которыми сталкиваются разработчики при использовании Firebase Genkit Monitoring.
Я не вижу трассировки или показателей в Firebase Genkit Monitoring
- Убедитесь, что для вашего базового проекта Google Cloud включены следующие API:
- Убедитесь, что следующие роли применены к учетной записи службы, на которой выполняется ваш код (или учетной записи службы, настроенной как часть параметров подключаемого модуля) в Cloud IAM .
- Средство записи метрик мониторинга (
roles/monitoring.metricWriter
) - Агент Cloud Trace (
roles/cloudtrace.agent
) - Средство записи журналов (
roles/logging.logWriter
)
- Средство записи метрик мониторинга (
Проверьте журналы приложений на наличие ошибок при записи в Cloud Logging, Cloud Trace и Cloud Monitoring. В облачной инфраструктуре Google, такой как Firebase Functions и Cloud Run, даже если телеметрия настроена неправильно, журналы в
stdout/stderr
автоматически принимаются агентом облачной регистрации, что позволяет диагностировать проблемы в консоли облачной регистрации .Отладка локально:
Включить экспорт разработки:
enableFirebaseTelemetry({ forceDevExport: true });
Чтобы протестировать свои личные учетные данные пользователя, используйте интерфейс командной строки gcloud для аутентификации в Google Cloud. Это может помочь диагностировать включенные или отключенные API, но не проверяет вход в приложение gcloud по умолчанию.
Альтернативно, выдавая себя за учетную запись службы, вы можете протестировать доступ, аналогичный рабочему. У вас должны быть
roles/iam. serviceAccountTokenCreator
Роль IAMroles/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.