Cortex Framework のテレメトリー

Cortex Framework は、デプロイ プロセスと同期プロセス中に匿名の使用状況統計を収集します。

データの収集の目的

  • 機能の導入状況の評価: フレームワーク モジュールとデータ プロダクトのデプロイ頻度をモニタリングすることで、開発の優先順位を把握できます。
  • 統合パターンの識別: 接続されたソースシステム バリアント(SAP ECC、SAP S/4HANA など)を追跡することで、互換性の検証と、これらの統合のメンテナンスの優先順位付けが可能になります。

テレメトリーはデフォルトで有効になっています。無効にするには、「テレメトリーを無効にする」セクションをご覧ください。

データ収集完了

フレームワークは、データセット ID、データ プロダクト インスタンス ID、リポジトリ ID などの構成 ID を収集します。名前、メールアドレス、IP アドレスなどのユーザー ID 属性は収集されません。

  • Google Cloud プロジェクト番号: デプロイを実行しているプロジェクトを識別します。使用状況を集計するために X-Goog-User-Project ヘッダーで送信されます。
  • デプロイ リージョンまたはロケーション: ターゲット リソースがデプロイされているリージョン。地理的分布の追跡に使用されます。
  • フレームワークのバージョン: 使用中の Cortex Framework コードベースのバージョン(例: 7.0.0)。
  • コンポーネント名: 処理対象のアーキテクチャ コンポーネントの概要(platformdata-productfoundation など)。
  • ツールタイプ: 実行された特定の CLI コマンドまたはユーティリティ(deployerknowledge-catalog など)
  • ターゲット バリアント: デプロイされたモジュールのソースシステムまたはドメイン カテゴリ(sapmarketing など)。
  • 有効なモジュール タイプ: 構成で有効になっている個々のモジュールのディレクトリ名またはパス。
  • Dataform リポジトリ ID: ユーザーが構成したターゲット Dataform リポジトリの名前。
  • BigQuery データセット ID: ユーザーが構成したターゲット BigQuery データセット名。
  • データ プロダクト インスタンス ID: Knowledge Catalog の登録ステップで登録されたデータ プロダクトを識別するために使用される、ユーザー指定の ID。
  • 実行ステータス: デプロイ ステップの成功または失敗の状態(deployedpost-deploy-successerrorregisteredupdated など)。

ユーザー エージェント ヘッダーの構造

テレメトリー パラメータは、次のパターンを使用して動的にフォーマットされた特別な HTTP User-Agent ヘッダーを使用して、 Google Cloud API リクエストに挿入されます。

gcp-cortex-eng/framework/<version>/<component>/<tool_type>/<variant>[/<optional_extension>]/<status>

たとえば、SAP ERP 基盤を正常にデプロイした場合などです。

gcp-cortex-eng/framework/7.0.0/platform/deployer/sap/cortex/sap/foundations/sap/deployed

データの転送

Cortex Framework は、パッシブなゼロペイロードのメタデータ ロギング メカニズムを利用します。明示的なログ ペイロードを外部エンドポイントに送信するのではなく、テレメトリー イベントは Google Cloud サービスとの標準的なインタラクションを使用して記録されます。

デプロイ、同期、デモのコマンドの実行中、フレームワークは BigQueryDataform などの標準の Google Cloud API と通信します。

これらの API リクエストの本文にはテレメトリー データは送信されません。代わりに、テレメトリー データは Google Cloudの API トラフィック ロギングによってネイティブにキャプチャされます。これにより、カスタムの User-Agent ヘッダーとプロジェクト番号ヘッダーが解析され、ソリューションの導入率と成功率が測定されます。

テレメトリーを無効にする

Cortex Framework はプライバシー設定を尊重し、永続的なオプトアウト ポリシーを実装しています。テレメトリーは、cortex-config ツールを使用するか、実行時に CLI フラグを渡すことでグローバルに管理できます。

グローバルに無効にする

テレメトリーを管理するには、コンピュータの ~/.cortex/cortex-framework-consent.properties にある永続的なユーザー設定ファイルを更新します。このファイルに enable_telemetry=false が含まれている場合、実行時にテレメトリー API 呼び出しは完全にスキップされます。

  • 完全にオプトアウトする(グローバルに無効にする):
uv run cortex-config telemetry disable
  • 完全に有効にする(グローバルに有効にする):
uv run cortex-config telemetry enable
  • 現在のステータスを確認する:
uv run cortex-config telemetry status

単一の実行で無効にする

--disable-telemetry フラグは実行コマンドに渡すことができます。--disable-telemetry を 1 回実行すると、フレームワークは enable_telemetry=false を含む永続構成ファイル ~/.cortex/cortex-framework-consent.properties を自動的に作成します。

## Cortex Framework-deploy
uv run cortex-deploy --config config/config.yaml --disable-telemetry

## Cortex Framework-build-and-deploy
uv run cortex-build-and-deploy --config config/config.yaml --disable-telemetry

## Cortex Framework-demo
uv run cortex-demo --config config/config.yaml --disable-telemetry

## Cortex Framework-kc-sync
uv run cortex-kc-sync --config config/config.yaml --disable-telemetry

これらのコマンドとそのパラメータの詳細については、次の CLI リファレンスをご覧ください。