1.Gemini CLIのテレメトリー機能について
Gemini CLI にはテレメトリー機能として OpenTelemetry を設定できます。
この OpenTelemetry を有効化し、Gemini CLI の実行ログを Google Cloud の指定プロジェクトにエクスポート(Cloud Logging に保管)してみます。
この設定については Gemini CLI の公式ドキュメント Observability with OpenTelemetry を参考に進めました。
事前準備として以下が設定済みの状態から開始します。
- Google Cloud アカウントに Gemini CLI の実行ログ保管先としてのプロジェクトを作成済み。(プロジェクト名
gemini-cli-observability) - gcloud CLI がインストール済み。(
gcloud --version) - Gemini CLI がインストール済み。(
gemini --version) - gcloud CLI 認証を実行済み。(
gcloud auth application-default login) - デフォルトプロジェクトを設定済み。(
gcloud config set project gemini-cli-observability) - 設定ファイルの環境変数に使用するプロジェクトを設定済み。(
export GOOGLE_CLOUD_PROJECT=gemini-cli-observability)
2.テレメトリー関係のGoogle Cloud APIを有効化する
Gemini CLI からの実行ログを Google Cloud のプロジェクトで受け取れるよう以下のAPIを有効化します。
- Cloud Trace API
- Cloud Monitoring API
- Cloud Logging API
以下のコマンドで有効化します。
gcloud services enable \ cloudtrace.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com
以下の通り、finished successfully. と表示されれば成功です。
Operation "operations/acat.〜〜省略〜〜" finished successfully.
念の為、listコマンドでも API が有効化されていることを確認。
gcloud services list --enabled NAME TITLE 〜〜省略〜〜 cloudtrace.googleapis.com Cloud Trace API logging.googleapis.com Cloud Logging API monitoring.googleapis.com Cloud Monitoring API 〜〜省略〜〜
3.サービスアカウントを設定する
続いてサービスアカウントを作ります。
サービスアカウントは AWS でいうところのIAMユーザーのようなもので、「誰が」を示します。
gcloud iam service-accounts create okawa-gemini-cli-telemetry \ --display-name="Okawa Gemini CLI Telemetry"
作成できました。
Created service account [okawa-gemini-cli-telemetry].
このサービスアカウントに権限をつけます。
トレースの書き込み権限を付与。
# Cloud Trace Agent ロール gcloud projects add-iam-policy-binding gemini-cli-observability \ --member="serviceAccount:okawa-gemini-cli-telemetry@gemini-cli-observability.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"
メトリクスの書き込み権限を付与。
# Monitoring Metric Writer ロール gcloud projects add-iam-policy-binding gemini-cli-observability \ --member="serviceAccount:okawa-gemini-cli-telemetry@gemini-cli-observability.iam.gserviceaccount.com" \ --role="roles/monitoring.metricWriter"
ログの書き込み権限を付与。
# Logs Writer ロール gcloud projects add-iam-policy-binding gemini-cli-observability \ --member="serviceAccount:okawa-gemini-cli-telemetry@gemini-cli-observability.iam.gserviceaccount.com" \ --role="roles/logging.logWriter"
サービスアカウントに付与した権限が binding していることを念の為確認します。
gcloud projects get-iam-policy gemini-cli-observability \ --flatten="bindings[].members" \ --filter="bindings.members:serviceAccount:okawa-gemini-cli-telemetry*"
binding していることが確認できました。
bindings: members: serviceAccount:okawa-gemini-cli-telemetry@gemini-cli-observability.iam.gserviceaccount.com role: roles/cloudtrace.agent 〜〜省略〜〜 bindings: members: serviceAccount:okawa-gemini-cli-telemetry@gemini-cli-observability.iam.gserviceaccount.com role: roles/logging.logWriter 〜〜省略〜〜 bindings: members: serviceAccount:okawa-gemini-cli-telemetry@gemini-cli-observability.iam.gserviceaccount.com role: roles/monitoring.metricWriter
次に認証キーの作成です。以下のコマンドを実行します。
gcloud iam service-accounts keys create ~/gemini-cli-key.json \ --iam-account=okawa-gemini-cli-telemetry@gemini-cli-observability.iam.gserviceaccount.com
キーが作成されています。
ls -la ~/gemini-cli-key.json -rw------- 1 名前 staff 2418 省略 /Users/名前/gemini-cli-key.json
設定ファイルに作成した認証キーを環境変数に設定します。
export GOOGLE_APPLICATION_CREDENTIALS=~/gemini-cli-key.json
Google Cloud 側の設定はこれで以上です。続いて Gemini CLI の設定に進みます。
4.Gemini CLIのTelemetryを有効化する
ローカルバージョン
まずローカルに実行ログを出力してみます。.gemini/settings.json に以下のテレメトリ設定を追加します。
{
〜〜省略〜〜
"telemetry": {
"enabled": true,
"target": "local",
"otlpEndpoint": "",
"outfile": ".gemini/telemetry.log"
}
}
settings.json の設定ができたら Gemini CLI を立ち上げ、簡単なプロンプトを実行してみます。
gemini "2025年12月11日に発表があったGoogle Maps Grounding Liteについて簡単に教えて"

.gemini/telemetry.log に実行ログが出力されているはずです。
確認してみたところ、個人的に想定以上の量のログが出力されていました。
wcコマンドや lsコマンドでみたところ、行数142,611行でファイルサイズは4.3MB でした。
wc -l telemetry.log 142611 telemetry.log ls -lh telemetry.log 〜〜省略〜〜 4.3M 〜〜省略〜〜 telemetry.log
ログファイルから実際に記録されたイベントをグレップして10個表示させてみました。
Gemini CLI が起動したとのイベント、ユーザーがプロンプトを送信したときに発行されるイベント等が記録されています。
このあたりのイベント名が何を示しているかは 公式ドキュメントの Logs and metrics を参照ください。
grep '"event.name"' telemetry.log | head -10
"event.name": "gemini_cli.config",
"event.name": "gemini_cli.user_prompt",
"event.name": "gemini_cli.api_request",
"event.name": "gemini_cli.api_response",
"event.name": "gen_ai.client.inference.operation.details",
"event.name": "gemini_cli.model_routing",
"event.name": "gemini_cli.api_request",
"event.name": "gemini_cli.api_response",
"event.name": "gen_ai.client.inference.operation.details",
"event.name": "gemini_cli.api_request",
ローカルでの動作確認は以上です。次は Google Cloud バージョンです。
Google Cloudバージョン
.gemini/settings.json のテレメトリ設定は以下です。
{
〜〜省略〜〜
"telemetry": {
"enabled": true,
"target": "gcp"
}
}
Gemini CLI を立ち上げ、ローカルバージョンの時と同じプロンプトを実行します。
gemini "2025年12月11日に発表があったGoogle Maps Grounding Liteについて簡単に教えて"
出力が英語となっていますが、今回の目的は Google Cloud にログ出力されるかなので、このまま進めます。

プロンプトを実行し、応答があったので Cloud Logging を見てみます。
gemini 〜 や Tool call 〜 のような Gemini CLI の実行に関するログが確認できました。

以下のコマンドで Gemini CLI のイベントがログに送信されているか見てみます。
gcloud logging read --project=gemini-cli-observability --limit 100 --format json | jq -r '.[] | .jsonPayload["event.name"]' | grep -v null | head -10 gen_ai.client.inference.operation.details gemini_cli.api_response gen_ai.client.inference.operation.details gemini_cli.api_request gemini_cli.tool_call gen_ai.client.inference.operation.details gemini_cli.api_response gen_ai.client.inference.operation.details gemini_cli.api_request gen_ai.client.inference.operation.details
Gemini CLI のイベント名が表示され、実行ログが Google Cloud に送信されていることが確認できました。
5.まとめ
公式ドキュメントを参考に Gemini CLI の実行ログをローカルや Google Cloud に送信する設定を実装してみました。セットアップに関してはシンプルだったかと思います。
ただ、短いプロンプトの実行でもある程度のログ量が生成されるため、運用を視野に入れた場合、ログの保管戦略、自動削除ルール、コスト最適化など、運用設計の重要性が頭をよぎりました。
まずは公式ドキュメントや本記事を参考に設定を進め、その後の運用方針を検討していくことをお勧めします。
本記事が Gemini CLI の Observability 環境構築の参考になれば幸いです。