diff --git a/content/ja/docs/platforms/_index.md b/content/ja/docs/platforms/_index.md new file mode 100644 index 000000000000..52ad2fbd8893 --- /dev/null +++ b/content/ja/docs/platforms/_index.md @@ -0,0 +1,10 @@ +--- +title: プラットフォームと環境 +linkTitle: プラットフォーム +description: OpenTelemetryをサポートするハードウェアとソフトウェアのプラットフォームや環境 +weight: 260 +default_lang_commit: 9ba98f4fded66ec78bfafa189ab2d15d66df2309 +--- + +OpenTelemetry はさまざまなプラットフォームと環境で利用可能で、ハイブリッドシステムでのシームレスなオブザーバビリティを保証します。 +この節では、サポートされているプラットフォームで OpenTelemetry を有効にして使用する方法について説明します。 diff --git a/content/ja/docs/platforms/android/_index.md b/content/ja/docs/platforms/android/_index.md new file mode 100644 index 000000000000..c31029ca024a --- /dev/null +++ b/content/ja/docs/platforms/android/_index.md @@ -0,0 +1,7 @@ +--- +title: Android +# description: +default_lang_commit: 9ba98f4fded66ec78bfafa189ab2d15d66df2309 +--- + +コンテンツは近日公開! diff --git a/content/ja/docs/platforms/faas/_index.md b/content/ja/docs/platforms/faas/_index.md new file mode 100644 index 000000000000..0223810cfe02 --- /dev/null +++ b/content/ja/docs/platforms/faas/_index.md @@ -0,0 +1,22 @@ +--- +title: Functions as a Service +linkTitle: FaaS +description: >- + OpenTelemetryは、さまざまなクラウドベンダーが提供するFaaSを監視するさまざまな方法をサポートしています。 +redirects: [{ from: /docs/faas/*, to: ':splat' }] # cSpell:disable-line +default_lang_commit: 9ba98f4fded66ec78bfafa189ab2d15d66df2309 +--- + +Functions as a Service(FaaS)は、[クラウドネイティブアプリ][cloud native apps]にとって重要なサーバーレスコンピュートプラットフォームです。 +しかし、プラットフォームの癖によって、これらのアプリケーションはKubernetesやVirtual Machines上で実行されるアプリケーションとは若干異なる監視ガイダンスや要件を持つことになります。 + +FaaSドキュメントの最初のベンダー範囲は、Microsoft Azure、Google Cloud Platform(GCP)、Amazon Web Services(AWS)です。 +AWSのファンクション(関数)はLambdaとしても知られています。 + +### コミュニティアセット {#community-assets} + +現在、OpenTelemetry コミュニティは、アプリケーションを自動計装することができるビルド済みの Lambda レイヤーと、アプリケーションを手動または自動で計装する際に使用できるスタンドアロンの Collector Lambda レイヤーを提供しています。 + +リリース状況は[OpenTelemetry-Lambdaリポジトリ](https://github.com/open-telemetry/opentelemetry-lambda)で追跡できます。 + +[cloud native apps]: https://glossary.cncf.io/cloud-native-apps/ diff --git a/content/ja/docs/platforms/faas/lambda-auto-instrument.md b/content/ja/docs/platforms/faas/lambda-auto-instrument.md new file mode 100644 index 000000000000..8e4586504966 --- /dev/null +++ b/content/ja/docs/platforms/faas/lambda-auto-instrument.md @@ -0,0 +1,114 @@ +--- +title: Lambda 自動計装 +weight: 11 +description: あなたのLambdaをOpenTelemetryで自動的に計装する +default_lang_commit: 9ba98f4fded66ec78bfafa189ab2d15d66df2309 +cSpell:ignore: Corretto +--- + +OpenTelemetryコミュニティは、以下の言語用のスタンドアロン計装Lambdaレイヤーを提供しています。 + +- Java +- JavaScript +- Python +- Ruby + +これらのレイヤーは、AWSポータルを使用してLambdaに追加し、アプリケーションを自動的に計装できます。 +これらのレイヤーにはコレクターは含まれておらず、外部コレクターインスタンスを構成してデータを送信しない限り、追加する必要があります。 + +### OTel Collector LambdaレイヤーのARNを追加する {#add-the-arn-of-the-otel-collector-lambda-layer} + +[Collector Lambdaレイヤーのガイダンス](../lambda-collector/)を参照して、アプリケーションにレイヤーを追加し、Collectorを設定してください。 +これを最初に追加することをおすすめします。 + +### 言語要件 {#language-requirements} + +{{< tabpane text=true >}} {{% tab Java %}} + +Lambdaレイヤーは、Java 8, 11, 17 (Corretto) Lambdaランタイムをサポートしています。 +サポートされているJavaのバージョンについては、[OpenTelemetry Java ドキュメント](/docs/languages/java/) を参照してください。 + +**注意:** Javaの自動計装エージェントがLambdaレイヤー内にあります - 自動計装エージェントはAWS Lambdaの起動時間に顕著な影響を与えるので、初期化中に最初のリクエストでタイムアウトを起こさずに本番のリクエストに対応するためには、一般的にプロビジョニングされた同時実行とウォームアップリクエストと共にこれを使用する必要があります。 + +デフォルトでは、レイヤーのOTel Javaエージェントは、アプリケーション内のすべてのコードを自動計装しようとします。 +これはLambdaのコールドスタートの起動時間に悪影響を及ぼす可能性があります。 + +アプリケーションで使用するライブラリ/フレームワークの自動計装のみを有効にすることをおすすめします。 + +特定の計装だけを有効にするには、以下の環境変数を使用します。 + +- `OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED`: falseに設定すると、レイヤーの自動計装を無効にし、各計装を個別に有効にする必要があります。 +- `OTEL_INSTRUMENTATION__ENABLED`: 特定のライブラリやフレームワークの自動計装を有効にするには true を設定します。``の部分を有効にしたい計装で置き換えます。利用可能な計装のリストについては、[特定のエージェントの計装を抑制する][1] を参照してください。 + + [1]: /docs/zero-code/java/agent/disable/#suppressing-specific-agent-instrumentation + +たとえば、LambdaとAWS SDKの自動計装だけを有効にするには、以下の環境変数を設定します。 + +```sh +OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED=false +OTEL_INSTRUMENTATION_AWS_LAMBDA_ENABLED=true +OTEL_INSTRUMENTATION_AWS_SDK_ENABLED=true +``` + +{{% /tab %}} {{% tab JavaScript %}} + +Lambdaレイヤーは、Node.js v14+のLambdaランタイムをサポートしています。 +サポートされるJavaScriptとNode.jsのバージョンの詳細については、[OpenTelemetry JavaScriptドキュメント](https://github.com/open-telemetry/opentelemetry-js)を参照してください。 + +{{% /tab %}} {{% tab Python %}} + +LambdaレイヤーはPython 3.8とPython 3.9のLambdaランタイムをサポートしています。 +サポートされているPythonのバージョンについては、[OpenTelemetry Pythonドキュメント](https://github.com/open-telemetry/opentelemetry-python/blob/main/README.md#supported-runtimes) と [PyPi](https://pypi.org/project/opentelemetry-api/) のパッケージを参照してください。 + +{{% /tab %}} {{% tab Ruby %}} + +Lambda レイヤーは、Ruby 3.2 と 3.3 の Lambda ランタイムをサポートしています。 +サポートされる OpenTelemetry Ruby SDK と API バージョンの詳細については、[OpenTelemetry Rubyドキュメント](https://github.com/open-telemetry/opentelemetry-ruby/blob/main/README.md#compatibility) と [RubyGem](https://rubygems.org/search?query=opentelemetry) のパッケージを参照してください。 + +{{% /tab %}} {{< /tabpane >}} + +### `AWS_LAMBDA_EXEC_WRAPPER` を設定する {#configure-aws_lambda_exec_wrapper} + +Node.js、Java、Rubyの場合は `AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-handler` 、Pythonの場合は`AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-instrument` を設定して、アプリケーションのエントリーポイントを変更します。 +これらのラッパースクリプトは、自動計装を適用したLambdaアプリケーションを起動します。 + +### 計装LambdaレイヤーのARNを追加する {#add-the-arn-of-instrumentation-lambda-layer} + +Lambda関数でOTelの自動計装を有効にするには、計装レイヤーとコレクターレイヤーを追加して設定し、トレースを有効にする必要があります。 + +1. AWSコンソールで、計装するLambda関数を開く。 +2. 「レイヤー」セクションで、「レイヤーの追加」を選択します。 +3. 「ARNを指定」でレイヤーのARNを貼り付け、「追加」を選択します。 + +あなたの言語の[最新の計装レイヤーリリース](https://github.com/open-telemetry/opentelemetry-lambda/releases)を見つけ、そのARNを使用します。 +``タグをあなたのラムダがあるリージョンに変更します。 + +注意: ラムダレイヤーはリージョンで分かれたリソースで、公開されているリージョンでのみ使用できます。Lambda関数と同じリージョンでレイヤーを使用するようにしてください。コミュニティは、利用可能なすべてのリージョンでレイヤーを公開しています。 + +### SDKのエクスポーターの設定 {#configure-your-sdk-exporters} + +gRPC/HTTPレシーバーを持つコレクターが組み込まれている場合、Lambdaレイヤーで使用されるデフォルトのエクスポーターは変更なしで動作します。 +環境変数を更新する必要はありません。 +ただし、プロトコルのサポートレベルやデフォルト値は言語によって異なります。 + +{{< tabpane text=true >}} {{% tab Java %}} + +`OTEL_EXPORTER_OTLP_PROTOCOL=grpc` は `grpc`、`http/protobuf` および `http/json`、`OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317` をサポートします。 + +{{% /tab %}} {{% tab JavaScript %}} + +環境変数 `OTEL_EXPORTER_OTLP_PROTOCOL` はサポートされていません。ハードコードされたエクスポーターはプロトコル `http/protobuf` を使用します。`OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318` + +{{% /tab %}} {{% tab Python %}} + +`OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf` は `http/protobuf` と `http/json` 、`OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318` をサポートします。 + +{{% /tab %}} {{% tab Ruby %}} + +`OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf` は `http/protobuf` `OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318` をサポートします。 + +{{% /tab %}} {{< /tabpane >}} + +### Lambdaを公開する {#publish-your-lambda} + +Lambdaの新しいバージョンを公開して、新しい変更と計装をデプロイします。 diff --git a/content/ja/docs/platforms/faas/lambda-collector.md b/content/ja/docs/platforms/faas/lambda-collector.md new file mode 100644 index 000000000000..d1787d00824c --- /dev/null +++ b/content/ja/docs/platforms/faas/lambda-collector.md @@ -0,0 +1,156 @@ +--- +title: Lambdaコレクター設定 +linkTitle: Lambdaコレクター設定 +weight: 11 +description: コレクターLambdaレイヤーをあなたのLambdaに追加して設定する +default_lang_commit: 9ba98f4fded66ec78bfafa189ab2d15d66df2309 +cSpell:ignore: ADOT awsxray configmap confmap +--- + +OpenTelemetry コミュニティは、ユーザーに最大限の柔軟性を与えるために、コレクターを計装レイヤーとは別のLambdaレイヤーで提供しています。 +これは、計装とコレクターをバンドルしている現在の AWS Distribution of OpenTelemetry (ADOT) の実装とは異なります。 + +### OTelコレクターLambdaレイヤーのARNを追加する {#add-the-arn-of-the-otel-collector-lambda-layer} + +アプリケーションの計装が完了したら、コレクターLambdaレイヤーを追加してデータを収集し、選択したバックエンドに送信します。 + +[最新のコレクターレイヤーリリース](https://github.com/open-telemetry/opentelemetry-lambda/releases)を見つけ、そのARNを使用します。 +``タグをラムダがいるリージョンに変更します。 + +注意: ラムダレイヤーはリージョンで分かれたリソースであり、公開されているリージョンでのみ使用できます。Lambda関数と同じリージョンでレイヤーを使用するようにしてください。コミュニティは、利用可能なすべてのリージョンでレイヤーを公開しています。 + +### OTelコレクターの設定 {#configure-the-otel-collector} + +OTelコレクターLambdaレイヤーの設定は、OpenTelemetry標準にしたがっています。 + +デフォルトでは、OTelコレクターLambdaレイヤーはconfig.yamlを使用します。 + +#### 希望するバックエンドの環境変数を設定する {#set-the-environment-variable-for-your-preferred-backend} + +Lambda環境変数の設定で、認証トークンを格納する新しい変数を作成します。 + +#### デフォルトエクスポーターを更新する {#update-the-default-exporters} + +もしまだ存在していなければ、`config.yaml` ファイルに好みのエクスポーターを追加します。 +前のステップでアクセストークンのために設定した環境変数を使用して、エクスポーターを設定します。 + +**エクスポーターに環境変数が設定されていない場合、デフォルトの設定は、デバッグエクスポーターを使用したデータ送信のみをサポートします** +以下はデフォルトの設定です。 + +```yaml +receivers: + otlp: + protocols: + grpc: + endpoint: '0.0.0.0:4317' + http: + endpoint: '0.0.0.0:4318' + +exporters: + # 注意: v0.86.0 より前のバージョンでは、`debug` のかわりに `logging` を使用すること + debug: + verbosity: detailed + +service: + pipelines: + traces: + receivers: [otlp] + exporters: [debug] + metrics: + receivers: [otlp] + exporters: [debug] + telemetry: + metrics: + address: localhost:8888 +``` + +### Lambdaを公開する {#publish-your-lambda} + +Lambdaの新しいバージョンをパブリッシュして、行った変更を有効にします。 + +### 高度な OTel コレクターの設定 {#advanced-otel-collector-configuration} + +カスタム構成でサポートされる利用可能なコンポーネントのリストは、こちらをご覧ください。 +デバッグを有効にするには、設定ファイルを使ってログレベルをデバッグに設定します。 +以下の例を参照してください。 + +#### 希望のConfmapプロバイダーを選択する {#choose-your-preferred-confmap-provider} + +OTel Lambdaレイヤーは `file`、`env`、`yaml`、`http`、`https`、`s3` といった種類の Confmap プロバイダーをサポートしています。 +異なる Confmap プロバイダーを使用して OTel コレクターの設定をカスタマイズするには、[Amazon Distribution of OpenTelemetry Confmap providers document](https://aws-otel.github.io/docs/components/confmap-providers#confmap-providers-supported-by-the-adot-collector) を参照してください。 + +#### カスタム設定ファイルの作成 {#create-a-custom-configuration-file} + +以下はルートディレクトリにある `collector.yaml` の設定ファイルのサンプルです。 + +```yaml +# ルート・ディレクトリの collector.yaml +# 環境変数 'OPENTELEMETRY_COLLECTOR_CONFIG_URI' を '/var/task/collector.yaml' に設定する + +receivers: + otlp: + protocols: + grpc: + endpoint: 'localhost:4317' + http: + endpoint: 'localhost:4318' + +exporters: + # 注意: v0.86.0 より前のバージョンでは `debug` のかわりに `logging` を使用すること + debug: + awsxray: + +service: + pipelines: + traces: + receivers: [otlp] + exporters: [awsxray] + metrics: + receivers: [otlp] + exporters: [debug] + telemetry: + metrics: + address: localhost:8888 +``` + +#### 環境変数を使ってカスタム設定ファイルをマップする {#map-your-custom-configuration-file-using-environment-variables} + +confmapプロバイダーを通してコレクターを設定したら、Lambda関数に環境変数 `OPENTELEMETRY_COLLECTOR_CONFIG_URI` を作成し、その値としてconfmapプロバイダーの設定のパスを設定します。 +たとえば、ファイルconfigmapプロバイダーを使用している場合は、その値を `/var/task///` に設定します。 +これにより、拡張モジュールにコレクターの設定がどこにあるかを伝えます。 + +##### CLIを使用したカスタムコレクター設定 {#custom-collector-configuration-using-the-cli} + +Lambdaコンソール、またはAWS CLIから設定できます。 + +```bash +aws lambda update-function-configuration --function-name Function --environment Variables={OPENTELEMETRY_COLLECTOR_CONFIG_URI=/var/task/collector.yaml} +``` + +##### CloudFormationから設定用の環境変数を設定する {#set-configuration-environment-variables-from-cloudformation} + +環境変数は**CloudFormation**テンプレートでも設定できます。 + +```yaml +Function: + Type: AWS::Serverless::Function + Properties: + ... + Environment: + Variables: + OPENTELEMETRY_COLLECTOR_CONFIG_URI: /var/task/collector.yaml +``` + +##### S3オブジェクトから設定を読み込む {#load-configuration-from-an-s3-object} + +S3から設定を読み込むには、関数にアタッチされたIAMロールに、関連するバケットへの読み取りアクセスが含まれている必要があります。 + +```yaml +Function: + Type: AWS::Serverless::Function + Properties: + ... + Environment: + Variables: + OPENTELEMETRY_COLLECTOR_CONFIG_URI: s3://.s3..amazonaws.com/collector_config.yaml +``` diff --git a/content/ja/docs/platforms/faas/lambda-manual-instrument.md b/content/ja/docs/platforms/faas/lambda-manual-instrument.md new file mode 100644 index 000000000000..8c9612145db3 --- /dev/null +++ b/content/ja/docs/platforms/faas/lambda-manual-instrument.md @@ -0,0 +1,23 @@ +--- +title: Lambdaの手動計装 +weight: 11 +description: OpenTelemetryであなたのLambdaを手動計装する +default_lang_commit: 9ba98f4fded66ec78bfafa189ab2d15d66df2309 +--- + +Lambdaの自動計装ドキュメントでカバーされていない言語については、コミュニティはスタンドアロンの計装レイヤーを持っていません。 + +ユーザーは、選択した言語の汎用計装ガイダンスにしたがい、コレクターLambdaレイヤーを追加してデータを送信する必要があります。 + +### OTelコレクターLambdaレイヤーのARNを追加する {#add-the-arn-of-the-otel-collector-lambda-layer} + +[コレクターLambdaレイヤーのガイダンス](../lambda-collector/)を参照して、アプリケーションにレイヤーを追加し、コレクターを設定してください。 +これを最初に追加することをおすすめします。 + +### LambdaをOTelで計装する {#instrument-the-lambda-with-otel} + +アプリケーションを手動で計装する方法については、[各言語向け計装ガイド](/docs/languages/) を確認してください。 + +### Lambdaを公開する {#publish-your-lambda} + +Lambdaの新しいバージョンを公開して、新しい変更と計装をデプロイします。