Google Cloud テレメトリーとロギング プラグイン

Google Cloud プラグインは、Firebase Genkit のテレメトリーとロギングデータを Google Cloud のオペレーション スイート

前提条件

このプラグインを使用するフローをローカルで実行する場合は、 Google Cloud CLI ツールがインストールされていること。

Google Cloud アカウントの設定

このプラグインには、Google Cloud アカウント(アカウントをお持ちでない場合は登録)と Google Cloud プロジェクトが必要です。

プラグインを追加する前に、プロジェクトで次の API が有効になっていることを確認してください。

これらの API は、プロジェクトの API ダッシュボードに表示されます。

API の有効化と無効化について詳しくは、こちらをクリックしてください。

構成

Google Cloud のトレース、ロギング、モニタリングへのエクスポートを有効にするには、 googlecloud パッケージと Init() を実行します。Init() を呼び出した後、 自動的にエクスポートされます。

import "github.com/firebase/genkit/go/plugins/googlecloud"
if err := googlecloud.Init(
    ctx,
    googlecloud.Config{ProjectID: "your-google-cloud-project"},
); err != nil {
    return err
}

テレメトリーのエクスポート先の Google Cloud プロジェクトを指定する必要があります 分析できます省略可能なパラメータもいくつかあります。

  • ForceExport: 開発環境で実行している場合でもテレメトリー データをエクスポートします。 (genkit startgenkit flow:run を使用する場合など)。これは、 を使用すると、統合をテストし、Google Cloud でモニタリングする最初のイベントを送信できます。 説明します。

    このオプションを使用する場合は、Google Cloud の認証情報を利用できるようにする必要もあります。 使用します。

    gcloud auth application-default login
    
  • MetricInterval: テレメトリーをエクスポートする間隔(ナノ秒単位) 情報です。デフォルトでは 60 秒(60e9 ナノ秒)です。

  • LogLevel: エクスポートするログエントリの最小重大度レベル。デフォルトでは slog.LevelInfo

プラグインには、Google Cloud プロジェクトの認証情報が必要です。複数の 認証情報は Google Cloud 環境(Cloud Run など)から 自動的に設定されます。他の環境で実行するには設定が必要 アプリケーションのデフォルト認証情報

Google Cloud のオペレーション スイートによる本番環境のモニタリング

フローがデプロイされたら、Google Cloud のオペレーション スイートに移動してプロジェクトを選択します。

ログとトレース

サイドメニューで [ロギング] を探します[ログ エクスプローラ] をクリックします。

console.log() を含む、デプロイしたフローに関連するすべてのログが表示されます。接頭辞 [genkit] のあるログは Genkit 内部のログであり、デバッグに役立つ可能性のある情報が含まれています。たとえば、Config[...] 形式の Genkit ログには、特定の LLM 推論の温度やトップ K の値などのメタデータが含まれています。Output[...] 形式のログには LLM レスポンスが含まれ、Input[...] ログにはプロンプトが含まれます。Cloud Logging には堅牢な ACL があり、機密性の高いログをきめ細かく制御できます。

<ph type="x-smartling-placeholder">
</ph>

特定のログ行の場合は、拡張メニュー アイコンをクリックして [トレースの詳細で表示] を選択すると、それぞれのトレースに移動できます。

トレース プレビュー ペインが開き、トレースの詳細を一目で確認できます。詳細を確認するには、[Trace で表示]リンクをクリックします。

Cloud Trace の最も目立つナビゲーション要素は、トレースの散布図です。これには、特定の期間に収集されたすべてのトレースが含まれます。

各データポイントをクリックすると、散布図の下に詳細が表示されます。

詳細ビューには、すべてのステップと重要なタイミング情報を含むフロー形状が表示されます。Cloud Trace には、このビュー内の特定のトレースに関連付けられているすべてのログをインターリーブする機能があります。[展開して表示] を[ログとイベント」選択します。

結果ビューでは、プロンプトや LLM レスポンスなど、トレースのコンテキストでログを詳細に調査できます。

指標

[Logging] を選択すると、Genkit がエクスポートするすべての指標を表示できます。[指標の管理] をクリックします。

指標管理コンソールには、収集されたすべての指標(Cloud Run とその周囲の環境に関連する指標を含む)が表形式で表示されます。[ワークロード]をクリックしますGenkit が収集した指標を含むリストが表示されます。genkit 接頭辞を持つ指標は、内部 Genkit 指標となります。

Genkit は、フローレベル、アクション レベル、生成レベルの指標など、いくつかのカテゴリの指標を収集します。各指標には、強力なフィルタリングとグループ化に役立ついくつかのディメンションがあります。

一般的なディメンションは次のとおりです。

  • flow_name - フローの最上位名。
  • flow_path - スパンとその親スパンチェーン(ルートスパンまで)。
  • error_code - エラーが発生した場合は対応するエラーコード。
  • error_message - エラーが発生した場合は対応するエラー メッセージ。
  • model - モデルの名前。
  • temperature - 推論温度の
  • topK - 推論の TopK
  • topP - 推論の TopP

フローレベルの指標

名前 ディメンション
genkit/フロー/リクエスト flow_name、error_code、error_message
genkit/フロー/レイテンシ フロー名

アクション レベルの指標

名前 ディメンション
genkit/アクション/リクエスト flow_name、error_code、error_message
genkit/アクション/レイテンシ フロー名

生成レベルの指標

名前 ディメンション
genkit/AI/generate flow_path、model、temperature、topK、topP、error_code、error_message
genkit/ai/generate/input_tokens flow_path、model、temperature、topK、topP
genkit/ai/generate/output_tokens flow_path、model、temperature、topK、topP
genkit/ai/generate/input_characters flow_path、model、temperature、topK、topP
genkit/ai/generate/output_characters flow_path、model、temperature、topK、topP
genkit/ai/generate/input_images flow_path、model、temperature、topK、topP
genkit/ai/generate/output_images flow_path、model、temperature、topK、topP
genkit/AI/生成/レイテンシ flow_path、model、temperature、topK、topP、error_code、error_message

指標の可視化は、Metrics Explorer で行うことができます。サイドメニューで [ロギング] を選択します[Metrics Explorer]をクリックします

[指標を選択] をクリックして指標を選択[Generic Node]、[Genkit]、指標を選択します。

指標の可視化は、タイプ(カウンタ、ヒストグラムなど)によって異なります。Metrics Explorer には堅牢な集計機能とクエリ機能があり、さまざまな分割項目で指標をグラフ化できます。

テレメトリーの遅延

あるフローの特定の実行に関するテレメトリーが Cloud のオペレーション スイートに表示されるまで、少し時間がかかることがあります。ほとんどの場合、この遅延は 1 分未満です。

割り当てと上限

留意すべき重要な割り当てがいくつかあります。

費用

Cloud Logging、Cloud Trace、Cloud Monitoring には無料枠が用意されています。具体的な料金については、次のリンクをご覧ください。