Trace の Python サポートは、複数のバックエンドで動作するトレースとアプリケーションの指標のインストゥルメンテーション ライブラリ セットである OpenCensus によって提供されます。Python 用の OpenCensus に関する最新情報と、追加のドキュメントとサンプルについては、GitHub ページをご覧ください。
インストールと構成
トレースを収集するには、Stackdriver エクスポータと OpenCensus トレーサーのパッケージをインポートする必要があります。また、アプリケーションで Stackdriver のエクスポータとトレーサーをインスタンス化する必要もあります。
Stackdriver エクスポータでは、認証にアプリケーションのデフォルト認証情報を使用します。コードが Google Cloud Platform(GCP)で実行されている場合は、プロジェクト ID を省略できます。
Google Cloud Platform での実行
Google Cloud Platform 上で実行されているインスタンスで Stackdriver Trace API アクセス スコープが有効になっている場合は、そのインスタンス用の認証情報を提供する必要はありません。ただし、インスタンスに対して可能な限り広いアクセス スコープを設定してから、Cloud Identity and Access Management を使用して、アクセスを制限することをおすすめします。
App Engine フレキシブル環境
App Engine フレキシブル環境では Stackdriver Trace API アクセス スコープがデフォルトで有効であり、認証情報やプロジェクト ID を提供しなくても OpenCensus クライアント ライブラリを使用できます。
App Engine スタンダード環境
App Engine スタンダード環境では Stackdriver Trace API アクセス スコープがデフォルトで有効であり、認証情報やプロジェクト ID を提供しなくても OpenCensus クライアント ライブラリを使用できます。
Google Kubernetes Engine
GKE で Trace を使用するには、クラスタの作成時に trace.append
OAuth アクセス スコープを追加します。
gcloud
を使ってクラスタを作成するには、次の手順に従います。
- (省略可)
gcloud
を最新バージョンに更新します。gcloud components update
- デフォルトのプロジェクト ID を設定します。
gcloud config set project [PROJECT_ID]
- ゾーンクラスタを使用する場合は、デフォルトのコンピューティング ゾーンを設定します。
gcloud config set compute/zone [COMPUTE_ZONE]
- リージョン クラスタを使用する場合は、デフォルトのコンピューティング リージョンを設定します。
gcloud config set compute/region [COMPUTE_REGION]
- create コマンドを発行します。
gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/trace.append
クラスタの作成の詳細については、クラスタの作成をご覧ください。
Compute Engine
Compute Engine VM インスタンスの場合は、各 VM インスタンスに Stackdriver Trace API アクセス スコープ trace.append
を明示的に有効にする必要があります。Google Cloud Platform Console から新しいインスタンスを作成する場合は、[インスタンスの作成] パネルの [ID と API へのアクセス] セクションで次の値を選択します。
- [サービス アカウント] には [Compute Engine のデフォルトのサービス アカウント] を選択します
- [アクセス スコープ] には [すべての Cloud API に完全アクセス権を許可] を選択します
Compute Engine のデフォルト以外のサービス アカウントを使用するには、インスタンスのサービス アカウントの作成と有効化とローカルやその他の場所での実行をご覧ください。重要なのは、使用するサービス アカウントに Cloud Trace Agent の役割があることです。
ローカルやその他の場所での実行
Stackdriver Trace を GCP 以外で実行するには、GCP プロジェクト ID と該当するサービス アカウントの認証情報を OpenCensus クライアント ライブラリに直接提供する必要があります。サービス アカウントには Cloud Trace エージェントの役割が含まれている必要があります。手順については、サービス アカウントの作成をご覧ください。
プロジェクト ID
インストールと構成の手順に従って、OpenCensus に対してプロジェクト ID を提供します。環境変数 GOOGLE_CLOUD_PROJECT
をプロジェクト ID に設定し、この変数を読み取るようにアプリケーションを変更することをおすすめします。環境変数を設定するには、次の操作を行います。
Linux または macOS
export GOOGLE_CLOUD_PROJECT=your-project-id
Windows
set GOOGLE_CLOUD_PROJECT=your-project-id
PowerShell:
$env:GOOGLE_CLOUD_PROJECT="your-project-id"
認証情報
GCP クライアント ライブラリでは、アプリケーションのデフォルト認証情報(ADC)を使用してアプリケーションの認証情報を検出します。OpenCensus クライアント ライブラリに認証情報を提供するには、GOOGLE_APPLICATION_CREDENTIALS
環境変数を設定します。
Linux / macOS
export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"
Python 用の Trace サンプル アプリケーション
トレースの表示
デプロイ後、GCP Console Trace Viewer でトレースを表示できます。