我在 Firebase Genkit Monitoring 中看不到轨迹和/或指标
- 确保已为底层 GCP 项目启用以下 API:
- 确保在 Cloud IAM 中将以下角色应用于运行代码的服务账号(或已作为插件选项的一部分配置的服务账号)。
- Monitoring Metric Writer (
roles/monitoring.metricWriter
) - Cloud Trace Agent (
roles/cloudtrace.agent
) - Logs Writer (
roles/logging.logWriter
)
- Monitoring Metric Writer (
检查应用日志,看看是否有写入 Cloud Logging、Cloud Trace 和/或 Cloud Monitoring 的错误。在 Firebase Functions 和 Cloud Run 等 GCP 基础架构中,即使遥测配置有误,Cloud Logging Agent 也会自动提取写入
stdout/stderr
的日志,以便您在 Cloud Logging 控制台中诊断问题。在本地调试:
启用开发者导出功能:
enableFirebaseTelemetry({ forceDevExport: true });
如需使用个人用户凭据进行测试,请使用 [gcloud CLI] 向 Google Cloud 进行身份验证。这样做有助于诊断已启用/已停用的 API,但不会测试 gcloud auth application-default login。
或者,您也可以通过模拟服务账号来测试类似生产环境的访问权限。您必须将
roles/iam. serviceAccountTokenCreator
IAM 角色应用于您的用户账号,才能模拟服务账号:gcloud auth application-default login --impersonate-service-account <SERVICE_ACCT_EMAIL>
如需了解详情,请参阅 ADC 文档。
Firebase Functions / Cloud Run 中的遥测数据上传可靠性
当 Genkit 托管在 Google Cloud Run(包括适用于 Firebase 的 Cloud Functions)中时,由于容器会切换到“空闲”生命周期状态,因此遥测数据上传的可靠性可能会降低。如果更高的可靠性对您来说很重要,不妨考虑在 Google Cloud 控制台中将CPU 分配更改为始终分配。