トレースデータのエクスポートの概要

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、Cloud Trace を使用したトレースデータのエクスポートのコンセプトについて概要を説明します。トレースデータをエクスポートする理由は次のとおりです。

  • デフォルト保持期間の 30 日より長い期間のトレースデータを保存する場合。
  • BigQuery ツールを使用してトレースデータを分析できるようにする場合。たとえば、BigQuery を使用すると、スパン数と変位値を識別できます。次の表を生成するために使用されるクエリについては、HipsterShop クエリをご覧ください。

    前記のクエリに対するレスポンスの表示。

エクスポートの仕組み

エクスポートには、Google Cloud プロジェクトのシンクを作成する必要があります。シンクにより、宛先としての BigQuery データセットが定義されます。

シンクは、Cloud Trace API か Google Cloud CLI を使用して作成できます。

シンクのプロパティと用語

シンクは Google Cloud プロジェクトに対して定義され、次のプロパティがあります。

  • 名前: シンクの名前。たとえば、名前は次のようになります。

    "projects/[PROJECT_NUMBER]/traceSinks/my-sink"
    

    ここで、[PROJECT_NUMBER] はシンクの Google Cloud プロジェクト番号、my-sink はシンク ID です。

  • Parent: シンクを作成するリソース。Parent は Google Cloud プロジェクトの必要があります。

    "projects/[PROJECT_ID]"
    

    [PROJECT_ID] は、Google Cloud プロジェクト ID または番号です。

  • Destination: トレーススパンを送信する 1 つの場所。Trace は、BigQuery へのトレースのエクスポートをサポートしています。Destination は、シンクの Google Cloud プロジェクト、または同じ組織内にある他の Google Cloud プロジェクトです。

    たとえば、有効な Destination は次のようになります。

    bigquery.googleapis.com/projects/[DESTINATION_PROJECT_NUMBER]/datasets/[DATASET_ID]
    

    ここで、[DESTINATION_PROJECT_NUMBER] は Destination の Google Cloud プロジェクト番号、[DATASET_ID] は BigQuery データセット ID です。

  • Writer ID: サービス アカウント名。エクスポート先のオーナーは、このサービス アカウントにエクスポート先への書き込み権限を付与する必要があります。トレースをエクスポートするとき、Trace はこの ID を承認に使用します。セキュリティを高めるために、新しいシンクは一意のサービス アカウントを取得します。

    export-[PROJECT_NUMBER]-[GENERATED_ID]@gcp-sa-cloud-trace.iam.gserviceaccount.com
    

    ここで、[PROJECT_NUMBER] は Google Cloud プロジェクト番号(16 進数)で、[GENERATED_ID] はランダムに生成された値です。

    シンクの書き込み ID で識別されるサービス アカウントを作成、所有、または管理しません。シンクを作成すると、Trace によってシンクに必要なサービス アカウントが作成されます。このサービス アカウントは、Identity and Access Management バインディングが 1 つ以上含まれるまで、プロジェクトのサービス アカウントのリストに含まれません。このバインディングは、シンクのエクスポート先を構成するときに追加します。

    Writer ID の使用方法については、エクスポート先の権限をご覧ください。

シンクの仕組み

トレーススパンがプロジェクトに到達するたびに、Trace はスパンのコピーをエクスポートします。

シンクが作成される前に Trace が受信したトレースはエクスポートできません。

アクセス制御

シンクを作成または変更するには、次のいずれかの Identity and Access Management ロールが必要です。

  • Trace 管理者
  • Trace ユーザー
  • プロジェクト所有者
  • プロジェクト編集者

詳細については、アクセス制御をご覧ください。

トレースを宛先にエクスポートするには、シンクのライター サービス アカウントが宛先への書き込みを許可されている必要があります。ライター ID の詳細については、このページのシンク プロパティをご覧ください。

割り当てと上限

Cloud Trace は、BigQuery ストリーミング API を使用して、宛先にトレーススパンを送信します。Cloud Trace は API 呼び出しをバッチ処理します。Cloud Trace は、再試行またはスロットリングのメカニズムを実装しません。データの量が宛先の割り当てを超える場合、トレーススパンが正常にエクスポートされないことがあります。

BigQuery の割り当てと上限について詳しくは、割り当てと上限をご覧ください。

料金

トレースをエクスポートしても、Cloud Trace の料金はかかりません。ただし、BigQuery の料金がかかることがあります。詳細については、BigQuery の料金をご覧ください。

費用の見積もり

BigQuery では、データの取り込みとストレージに対して料金がかかります。BigQuery の毎月の費用を見積もるには、次のようにします。

  1. 1 か月に取り込まれるトレーススパンの合計数を見積もります。

    Trace の [概要] ウィンドウには、今月と前月に取り込まれた請求対象のスパン数が表示されます。

    [トレース] に移動

    概要ペインに表示されるスパンの数に、課金対象外のスパンは含まれません。詳細については、料金をご覧ください。

  2. 取り込まれたトレーススパンの数に基づいてストリーミングの要件を見積もります。

    各スパンはテーブル行に書き込まれます。BigQuery の各行には 1,024 バイト以上が必要です。したがって、BigQuery ストリーミングの要件の下限は、各スパンに 1, 024 バイトを割り当てることです。たとえば、Google Cloud プロジェクトに 200 のスパンが取り込まれている場合、それらのスパンにはストリーミング挿入に少なくとも 20,400 バイトが必要になります。

  3. 料金計算ツールを使うと、ストレージ、ストリーミング挿入、クエリによる BigQuery の費用を見積もることができます。

BigQuery の使用状況の表示と管理

Metrics Explorer を使用して、BigQuery の使用状況を表示できます。BigQuery の使用量が事前定義された上限を超えた場合に通知するアラート ポリシーを作成することもできます。次の表に、アラート ポリシーを作成する場合の設定を示します。グラフを作成するときや、Metrics Explorer を使用するときは、ターゲット ペイン表の設定を使用できます。

取り込まれた BigQuery 指標がユーザー定義レベルを超えた場合にトリガーされるアラート ポリシーを作成するには、次の設定を使用します。

[新しい条件]
フィールド

リソースと指標 [リソース] メニューで、[BigQuery データセット] を選択します。
[指標カテゴリー] メニューで、[ストレージ] を選択します。
[指標] メニューから指標を選択します。Stored bytesUploaded bytesUploaded bytes billed など、使用に固有の指標。利用可能な指標の完全なリストについては、BigQuery 指標をご覧ください。
フィルタ project_id: Google Cloud プロジェクト ID。
dataset_id: データセット ID。
時系列全体
時系列のグループ化の基準
dataset_id: データセット ID。
時系列全体
時系列集計
sum
ローリング ウィンドウ 1 m
ローリング ウィンドウ関数 mean
アラート・トリガーの構成
フィールド

条件タイプ Threshold
アラート トリガー Any time series violates
しきい値の位置 Above threshold
しきい値 許容値を決定します。
再テスト ウィンドウ 1 minute

次のステップ

シンクを構成するには、トレースのエクスポートをご覧ください。