Genkit モニタリング: トラブルシューティング

Firebase Genkit Monitoring にトレースや指標が表示されない

  1. 基盤となる GCP プロジェクトで次の API が有効になっていることを確認します。
  2. Cloud IAM で、コードを実行しているサービス アカウント(またはプラグイン オプションの一部として構成されたサービス アカウント)に次のロールが適用されていることを確認します。
    • モニタリング指標の書き込みroles/monitoring.metricWriter
    • Cloud Trace エージェントroles/cloudtrace.agent
    • ログ書き込みroles/logging.logWriter
  3. Cloud Logging、Cloud Trace、Cloud Monitoring への書き込みエラーがないか、アプリケーション ログを調べます。Firebase Functions や Cloud Run などの GCP インフラストラクチャでは、テレメトリーが正しく構成されていない場合でも、stdout/stderr へのログは Cloud Logging エージェントによって自動的に取り込まれるため、Cloud Logging コンソールで問題を診断できます。

  4. ローカルでデバッグする:

    デベロッパー エクスポートを有効にします。

    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 割り当て] を [常に割り当て] に変更することを検討してください。