Firebase Genkit Monitoring にトレースや指標が表示されない
- 基盤となる GCP プロジェクトで次の API が有効になっていることを確認します。
- Cloud IAM で、コードを実行しているサービス アカウント(またはプラグイン オプションの一部として構成されたサービス アカウント)に次のロールが適用されていることを確認します。
- モニタリング指標の書き込み(
roles/monitoring.metricWriter
) - Cloud Trace エージェント(
roles/cloudtrace.agent
) - ログ書き込み(
roles/logging.logWriter
)
- モニタリング指標の書き込み(
Cloud Logging、Cloud Trace、Cloud Monitoring への書き込みエラーがないか、アプリケーション ログを調べます。Firebase Functions や Cloud Run などの GCP インフラストラクチャでは、テレメトリーが正しく構成されていない場合でも、
stdout/stderr
へのログは Cloud Logging エージェントによって自動的に取り込まれるため、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(Cloud Functions for Firebase を含む)でホストされている場合、コンテナが「アイドル状態」のライフサイクル状態に切り替わると、テレメトリー データのアップロードの信頼性が低下する可能性があります。信頼性の向上が重要である場合は、Google Cloud コンソールで [CPU 割り当て] を [常に割り当て] に変更することを検討してください。