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

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

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

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

エクスポートの仕組み

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

シンクは、Cloud Trace API か gcloudコマンドライン ツールを使用して作成できます。

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

シンクは 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] はランダムに生成された値です。

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

シンクの仕組み

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

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

アクセス制御

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

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

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

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

割り当てと上限

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 指標がユーザー定義レベルを超えた場合にトリガーされるアラート ポリシーを作成するには、次のようにします。

[Target] ペイン
フィールド

Resource type BigQuery Dataset」と入力します。
Metric Stored bytesUploaded bytesUploaded bytes billed など、使用に固有の指標。ただし、これは部分的なリストです。利用可能な指標の完全なリストについては、BigQuery 指標をご覧ください。
Filter project_id: Google Cloud プロジェクト ID。
dataset_id: データセット ID。
Group By dataset_id: データセット ID。
Aggregator sum
Period 1 m
Advanced Aggregation Aligner: mean
[条件] ペイン
フィールド

Condition triggers if Any time series violates
Condition is above
Threshold 許容値を決定します。
For 1 minute

次のステップ

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