AWS Distro for OpenTelemetry (ADOT) SDK を使用したコレクターレステレメトリのエクスポート - Amazon CloudWatch

AWS Distro for OpenTelemetry (ADOT) SDK を使用したコレクターレステレメトリのエクスポート

ADOT SDK を使用してコレクターレスに移行し、トレースおよびログを OTLP エンドポイントに直接送信できます。

注記

Application Signals には、トランザクション検索機能が含まれています。コストの重複を回避するには、ADOT SDK で Application Signals を無効にし、OTEL_AWS_APPLICATION_SIGNALS_ENABLED を false (デフォルト設定) に設定したままにします。

前提条件

トランザクション検索が有効になっていて、X-Ray OTLP エンドポイントにスパンを送信できることを確認します。詳細については、「トランザクション検索の開始方法」を参照してください。

ロールの IAM アクセス許可を設定する

以下のステップを実行して、必要な IAM ポリシーをロールにアタッチします。

トレース:

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [ロール] を選択し、設定したロールを検索して選択します。

  3. [アクセス権限] タブで、[許可を追加][ポリシーをアタッチ] の順に選択します。

  4. 検索ボックスを使って、AWSXrayWriteOnlyPolicy を検索します。

  5. AWSXrayWriteOnlyPolicy ポリシーを選択し、[許可を追加] を選択します。

ログ:

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [ロール] を選択し、設定したロールを検索して選択します。

  3. [アクセス許可] タブで、[許可を追加] をクリックしてから、[インラインポリシーを作成] をクリックします。

  4. サービスの [CloudWatch Logs] を選択し、[許可されたアクション] で以下をフィルタリングして選択します。

    logs:PutLogEvents logs:DescribeLogGroups logs:DescribeLogStreams
  5. 必要なアクセス許可を付与する IAM ポリシーの例を以下に示します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "CloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:log-group:*" ] } ] }

認証情報プロバイダーを設定する

ADOT は AWS SDK を使用して、テレメトリデータを AWS にエクスポートするために必要な有効な認証情報を自動的に検出します。特定の環境の認証情報の設定に関するガイダンスについては、AWS SDKS が認証情報を取得する方法に関するドキュメントを参照してください。

オンプレミスホストの IAM 認証情報の設定:

次のコマンドを入力して、オンプレミスホストで AWS 認証情報を設定します。ACCESS_KEY_IDSECRET_ACCESS_KEY を、設定した IAM ロールまたはユーザーの認証情報に置き換えます。

$ aws configure AWS Access Key ID [None]: ACCESS_KEY_ID AWS Secret Access Key [None]: SECRET_ACCESS_ID Default region name [None]: MY_REGION Default output format [None]: json

ADOT SDK の有効化

アプリケーションのログおよびトレースを Java、Node.js、Python、.Net の AWS Distro for OpenTelemetry (ADOT) SDK から OTLP エンドポイントに直接送信することを許可できます。

Java
注記

これらの機能を使用するには、ADOT Java エージェントバージョン 2.11.2 以降を使用する必要があります。

  1. AWS Distro for OpenTelemetry Java 自動計測エージェントの最新バージョンをダウンロードします。このコマンドを使用すると、最新バージョンをダウンロードできます。

    curl -L -O https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jar

    リリース済みバージョンをすべて確認するには、aws-otel-java-instrumentation のリリースを参照してください。

  2. OTLP エンドポイントにテレメトリを直接送信する別のエクスポーターを有効にし、メリットを最適化するには、アプリケーションを起動する前に以下の環境変数を使用します。

    トレース:

    • X-Ray OTLP トレースエンドポイントを指定するように OTEL_EXPORTER_OTLP_TRACES_ENDPOINT を設定します: https://xray.[AWSRegion].amazonaws.com/v1/traces

      例:

      export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
    • OTEL_TRACES_EXPORTERotlp に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

    • OTEL_EXPORTER_OTLP_TRACES_PROTOCOL 変数を http/protobuf に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

    • OTEL_RESOURCE_ATTRIBUTES 変数を設定して、以下の情報をキーと値のペアとして指定します。これらの環境変数は Application Signals によって使用され、X-Ray トレースのアノテーションと CloudWatch メトリクスのディメンションに変換されます。

      • (オプション) サービス名を設定するには、service.name を使用します。これは、Application Signals ダッシュボードにアプリケーションのサービス名として表示されます。このキーの値を指定しない場合、UnknownService (デフォルト値) が使用されます。

      • (オプション) アプリケーションの稼働環境を設定するには、deployment.environment を使用します。これは、アプリケーションの [ホスト元] 環境として表示されます。

      • (オプション) ログ相関を有効にするには、OTEL_RESOURCE_ATTRIBUTES で、アプリケーションのロググループに追加で環境変数 aws.log.group.names を設定します。これにより、アプリケーションが生成したトレースとメトリクスをこれらのロググループ内の該当するログエントリと関連付けることができます。この変数では、$YOUR_APPLICATION_LOG_GROUP をアプリケーションのロググループ名に置き換えます。複数のロググループがある場合は、アンパサンド (&) を使用して、次の例のようにそれらを分離できます: aws.log.group.names=log-group-1&log-group-2。ログ相関のメトリクスを有効にするには、この現在の環境変数を設定するだけで十分です。詳細については、「ログ相関のメトリクスを有効にする」を参照してください。ログ相関のトレースを有効にするには、アプリケーションのログ記録設定も変更する必要があります。詳細については、「ログ相関のトレースを有効にする」を参照してください。

    ログ:

    • CloudWatch OTLP ログエンドポイントを指定するように OTEL_EXPORTER_OTLP_LOGS_ENDPOINT を設定します: https://logs.[AWSRegion].amazonaws.com/v1/logs

      例:

      export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
    • ログをエクスポートするロググループとログストリームを指定するように OTEL_EXPORTER_OTLP_LOGS_HEADERS を設定します (注: ADOT を実行するに作成する必要があります): x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]

      例:

      export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
    • OTEL_LOGS_EXPORTERotlp に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

    • OTEL_EXPORTER_OTLP_LOGS_PROTOCOL 変数を http/protobuf に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

  3. JAVA_TOOL_OPTIONS を指定して、AWS Distro for OpenTelemetry Java 自動計測エージェントが保存されているパスを指定します。例:

    export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"
  4. これで、アプリケーションは ADOT Java 計測を使用して実行され、スパンおよびログが生成されるようになりました。スパンは aws/spans CloudWatch ロググループに保存され、ログは OTEL_EXPORTER_OTLP_LOGS_HEADERS ヘッダーで指定されたロググループに保存されます。CloudWatch トレースおよびメトリクスコンソールで、スパンと相関するログとメトリクスを表示することもできます。

  5. 前のステップでリストアップした環境変数を使用して、アプリケーションを起動します。起動スクリプトの例を次に示します。

    JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" \ OTEL_METRICS_EXPORTER=none \ OTEL_TRACES_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \ OTEL_LOGS_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \ OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \ java -jar $MY_JAVA_APP.jar
Node.js
注記

これらの機能を使用するには、ADOT JavaScript バージョン 0.7.0 以降を使用する必要があります。

  1. AWS Distro for OpenTelemetry JavaScript 自動計測の最新バージョンをダウンロードします。次の コマンドを使用してインストールします。

    npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation

    すべてのリリース済みバージョンを確認するには、「aws-otel-js-instrumentation Releases」を参照してください。

  2. OTLP エンドポイントにテレメトリを直接送信する別のエクスポーターを有効にし、メリットを最適化するには、アプリケーションを起動する前に以下の環境変数を使用します。

    トレース:

    • X-Ray OTLP トレースエンドポイントを指定するように OTEL_EXPORTER_OTLP_TRACES_ENDPOINT を設定します: https://xray.[AWSRegion].amazonaws.com/v1/traces

      例:

      export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
    • OTEL_TRACES_EXPORTERotlp に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

    • OTEL_EXPORTER_OTLP_TRACES_PROTOCOL 変数を http/protobuf に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

    • OTEL_RESOURCE_ATTRIBUTES 変数を設定して、以下の情報をキーと値のペアとして指定します。これらの環境変数は Application Signals によって使用され、X-Ray トレースのアノテーションと CloudWatch メトリクスのディメンションに変換されます。

      • (オプション) サービス名を設定するには、service.name を使用します。これは、Application Signals ダッシュボードにアプリケーションのサービス名として表示されます。このキーの値を指定しない場合、UnknownService (デフォルト値) が使用されます。

      • (オプション) アプリケーションの稼働環境を設定するには、deployment.environment を使用します。これは、アプリケーションの [ホスト元] 環境として表示されます。

      • (オプション) ログ相関を有効にするには、OTEL_RESOURCE_ATTRIBUTES で、アプリケーションのロググループに追加で環境変数 aws.log.group.names を設定します。これにより、アプリケーションが生成したトレースとメトリクスをこれらのロググループ内の該当するログエントリと関連付けることができます。この変数では、$YOUR_APPLICATION_LOG_GROUP をアプリケーションのロググループ名に置き換えます。複数のロググループがある場合は、アンパサンド (&) を使用して、次の例のようにそれらを分離できます: aws.log.group.names=log-group-1&log-group-2。ログ相関のメトリクスを有効にするには、この現在の環境変数を設定するだけで十分です。詳細については、「ログ相関のメトリクスを有効にする」を参照してください。ログ相関のトレースを有効にするには、アプリケーションのログ記録設定も変更する必要があります。詳細については、「ログ相関のトレースを有効にする」を参照してください。

    ログ:

    • CloudWatch OTLP ログエンドポイントを指定するように OTEL_EXPORTER_OTLP_LOGS_ENDPOINT を設定します: https://logs.[AWSRegion].amazonaws.com/v1/logs

      例:

      export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
    • ログをエクスポートするロググループとログストリームを指定するように OTEL_EXPORTER_OTLP_LOGS_HEADERS を設定します (注: ADOT を実行するに作成する必要があります): x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]

      例:

      export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
    • OTEL_LOGS_EXPORTERotlp に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

    • OTEL_EXPORTER_OTLP_LOGS_PROTOCOL 変数を http/protobuf に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

  3. これで、アプリケーションは ADOT JavaScript 計測を使用して実行され、スパンおよびログが生成されるようになりました。スパンは aws/spans CloudWatch ロググループに保存され、ログは OTEL_EXPORTER_OTLP_LOGS_HEADERS ヘッダーで指定されたロググループに保存されます。CloudWatch トレースおよびメトリクスコンソールで、スパンと相関するログとメトリクスを表示することもできます。

  4. 前のステップでリストアップした環境変数を使用して、アプリケーションを起動します。起動スクリプトの例を次に示します。

    $SVC_NAME をアプリケーションの名前に置き換えます。これは、アプリケーションの名前として表示されます。

    OTEL_METRICS_EXPORTER=none \ OTEL_TRACES_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \ OTEL_LOGS_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \ OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \ node --require '@aws/aws-distro-opentelemetry-node-autoinstrumentation/register' your-application.js
Python
注記

これらの機能を使用するには、ADOT Python バージョン 0.10.0 以降を使用し、botocore がインストールされている必要があります。

  1. AWS Distro for OpenTelemetry Python 自動計測の最新バージョンをダウンロードします。次の コマンドを使用してインストールします。

    pip install aws-opentelemetry-distro

    リリース済みバージョンをすべて確認するには、「aws-otel-python-instrumentation Releases」を参照してください。

  2. OTLP エンドポイントにテレメトリを直接送信する別のエクスポーターを有効にし、メリットを最適化するには、アプリケーションを起動する前に以下の環境変数を使用します。

    トレース設定とログ設定の両方で、以下の環境変数を設定する必要があります。

    • OTEL_PYTHON_DISTROaws_distro

    • OTEL_PYTHON_CONFIGURATORaws_configurator

    トレース:

    • X-Ray OTLP トレースエンドポイントを指定するように OTEL_EXPORTER_OTLP_TRACES_ENDPOINT を設定します: https://xray.[AWSRegion].amazonaws.com/v1/traces

      例:

      export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
    • OTEL_TRACES_EXPORTERotlp に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

    • OTEL_EXPORTER_OTLP_TRACES_PROTOCOL 変数を http/protobuf に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

    • OTEL_RESOURCE_ATTRIBUTES 変数を設定して、以下の情報をキーと値のペアとして指定します。これらの環境変数は Application Signals によって使用され、X-Ray トレースのアノテーションと CloudWatch メトリクスのディメンションに変換されます。

      • (オプション) サービス名を設定するには、service.name を使用します。これは、Application Signals ダッシュボードにアプリケーションのサービス名として表示されます。このキーの値を指定しない場合、UnknownService (デフォルト値) が使用されます。

      • (オプション) アプリケーションの稼働環境を設定するには、deployment.environment を使用します。これは、アプリケーションの [ホスト元] 環境として表示されます。

      • (オプション) ログ相関を有効にするには、OTEL_RESOURCE_ATTRIBUTES で、アプリケーションのロググループに追加で環境変数 aws.log.group.names を設定します。これにより、アプリケーションが生成したトレースとメトリクスをこれらのロググループ内の該当するログエントリと関連付けることができます。この変数では、$YOUR_APPLICATION_LOG_GROUP をアプリケーションのロググループ名に置き換えます。複数のロググループがある場合は、アンパサンド (&) を使用して、次の例のようにそれらを分離できます: aws.log.group.names=log-group-1&log-group-2。ログ相関のメトリクスを有効にするには、この現在の環境変数を設定するだけで十分です。詳細については、「ログ相関のメトリクスを有効にする」を参照してください。ログ相関のトレースを有効にするには、アプリケーションのログ記録設定も変更する必要があります。詳細については、「ログ相関のトレースを有効にする」を参照してください。

    ログ:

    • OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLEDtrue に設定します。

    • CloudWatch OTLP ログエンドポイントを指定するように OTEL_EXPORTER_OTLP_LOGS_ENDPOINT を設定します: https://logs.[AWSRegion].amazonaws.com/v1/logs

      例:

      export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
    • ログをエクスポートするロググループとログストリームを指定するように OTEL_EXPORTER_OTLP_LOGS_HEADERS を設定します (注: ADOT を実行するに作成する必要があります): x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]

      例:

      export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
    • OTEL_LOGS_EXPORTERotlp に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

    • OTEL_EXPORTER_OTLP_LOGS_PROTOCOL 変数を http/protobuf に設定します (これはオプションで、この環境変数が設定されていない場合はデフォルト値になります)。

  3. これで、アプリケーションは ADOT Python 計測を使用して実行され、スパンおよびログが生成されるようになりました。スパンは aws/spans CloudWatch ロググループに保存され、ログは OTEL_EXPORTER_OTLP_LOGS_HEADERS ヘッダーで指定されたロググループに保存されます。CloudWatch トレースおよびメトリクスコンソールで、スパンと相関するログとメトリクスを表示することもできます。

  4. 前のステップでリストアップした環境変数を使用して、アプリケーションを起動します。起動スクリプトの例を次に示します。

    $SVC_NAME をアプリケーションの名前に置き換えます。これは、アプリケーションの名前として表示されます。

    $PYTHON_APP をアプリケーションの場所と名前に置き換えます。

    OTEL_METRICS_EXPORTER=none \ OTEL_TRACES_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \ OTEL_LOGS_EXPORTER=otlp \ OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \ OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \ OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \ opentelemetry-instrument python $MY_PYTHON_APP.py
.Net
注記
  • これらの機能を使用するには、ADOT .NET バージョン 1.8.0 以降が必要です。

  • 圧縮は現在サポートされていません。

  • ログは現在サポートされていません。

AWS Distro for OpenTelemetry .NET 自動計装パッケージの最新バージョンをダウンロードします。リリース済みバージョンをすべて確認するには、「aws-otel-dotnet-instrumentation Releases」を参照してください。

テレメトリを OTLP エンドポイントに直接送信するさまざまなエクスポーターを有効にし、利点を最適化するには、アプリケーションを起動する前に以下の環境変数を使用します (OTEL_RESOURCE_ATTRIBUTES 環境変数内の dotnet-service-name を任意のサービス名に置き換えてください)。

トレース:

  • OTEL_TRACES_EXPORTERnone に設定する必要があります

  • OTEL_AWS_SIG_V4_ENABLEDtrue に設定する必要があります

    この機能は .NET では自動的に有効になっていません。環境変数は、特に .NET 計測内でこのユースケースを識別するために必要です。この要件は .NET に固有であり、サポートされている他の言語には適用されません

以下は Linux の場合のセットアップ例です。

export INSTALL_DIR=OpenTelemetryDistribution export CORECLR_ENABLE_PROFILING=1 export CORECLR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658318} export CORECLR_PROFILER_PATH=${INSTALL_DIR}/linux-x64/OpenTelemetry.AutoInstrumentation.Native.so export DOTNET_ADDITIONAL_DEPS=${INSTALL_DIR}/AdditionalDeps export DOTNET_SHARED_STORE=${INSTALL_DIR}/store export DOTNET_STARTUP_HOOKS=${INSTALL_DIR}/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll export OTEL_DOTNET_AUTO_HOME=${INSTALL_DIR} export OTEL_DOTNET_AUTO_PLUGINS="AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation" export OTEL_TRACES_EXPORTER=none export OTEL_AWS_SIG_V4_ENABLED=true export OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name export OTEL_METRICS_EXPORTER=none export OTEL_LOGS_EXPORTER=none export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces

以下は Windows Server の場合のセットアップ例です。

$env:INSTALL_DIR = "OpenTelemetryDistribution" $env:CORECLR_ENABLE_PROFILING = 1 $env:CORECLR_PROFILER = "{918728DD-259F-4A6A-AC2B-B85E1B658318}" $env:CORECLR_PROFILER_PATH = Join-Path $env:INSTALL_DIR "win-x64/OpenTelemetry.AutoInstrumentation.Native.dll" $env:DOTNET_ADDITIONAL_DEPS = Join-Path $env:INSTALL_DIR "AdditionalDeps" $env:DOTNET_SHARED_STORE = Join-Path $env:INSTALL_DIR "store" $env:DOTNET_STARTUP_HOOKS = Join-Path $env:INSTALL_DIR "net/OpenTelemetry.AutoInstrumentation.StartupHook.dll" $env:OTEL_DOTNET_AUTO_HOME = $env:INSTALL_DIR $env:OTEL_DOTNET_AUTO_PLUGINS = "AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation" $env:OTEL_TRACES_EXPORTER=none $env:OTEL_AWS_SIG_V4_ENABLED=true $env:OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name $env:OTEL_METRICS_EXPORTER=none $env:OTEL_LOGS_EXPORTER=none $env:OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf $env:OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces
  1. 前のステップでリストアップした環境変数を使用して、アプリケーションを起動します。

  2. (省略可) または、提供されているインストール スクリプトを使用して、AWS Distro for OpenTelemetry .NET 自動計測パッケージのインストールとセットアップに役立てることができます。

    Linux の場合は、GitHub リリース ページから Bash インストール スクリプトをダウンロードしてインストールします:

    # Download and Install curl -L -O https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/aws-otel-dotnet-install.sh chmod +x ./aws-otel-dotnet-install.sh ./aws-otel-dotnet-install.sh # Instrument . $HOME/.otel-dotnet-auto/instrument.shexport OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name

    Windows Server の場合は、次のように、GitHub リリースページから PowerShell のインストールスクリプトをダウンロードしてインストールします。

    # Download and Install $module_url = "https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/AWS.Otel.DotNet.Auto.psm1" $download_path = Join-Path $env:temp "AWS.Otel.DotNet.Auto.psm1" Invoke-WebRequest -Uri $module_url -OutFile $download_path Import-Module $download_path Install-OpenTelemetryCore # Instrument Import-Module $download_path Register-OpenTelemetryForCurrentSession -OTelServiceName "dotnet-service-name" Register-OpenTelemetryForIIS

    AWS Distro for OpenTelemetry .NET 自動計測パッケージの NuGet パッケージは、公式 NuGet リポジトリ にあります。手順については、「README ファイル」を確認してください。