Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ja] translate platform/android and platform/faas #6535

Merged
merged 4 commits into from
Mar 14, 2025
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions content/ja/docs/platforms/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: プラットフォームと環境
linkTitle: プラットフォーム
description: OpenTelemetryをサポートするハードウェアとソフトウェアのプラットフォームや環境
weight: 260
default_lang_commit: 9ba98f4fded66ec78bfafa189ab2d15d66df2309
---

OpenTelemetry はさまざまなプラットフォームと環境で利用可能で、ハイブリッドシステムでのシームレスなオブザーバビリティを保証します。
この節では、サポートされているプラットフォームで OpenTelemetry を有効にして使用する方法について説明します。
7 changes: 7 additions & 0 deletions content/ja/docs/platforms/android/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Android
# description:
default_lang_commit: 9ba98f4fded66ec78bfafa189ab2d15d66df2309
---

コンテンツは近日公開!
22 changes: 22 additions & 0 deletions content/ja/docs/platforms/faas/_index.md
Original file line number Diff line number Diff line change
@@ -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としても知られています。

### コミュニティアセット

現在、OpenTelemetry コミュニティは、アプリケーションを自動計装することができるビルド済みの Lambda レイヤーと、アプリケーションを手動または自動で計装する際に使用できるスタンドアロンの Collector Lambda レイヤーを提供しています。

リリース状況は[OpenTelemetry-Lambdaリポジトリ](https://github.com/open-telemetry/opentelemetry-lambda)で追跡できます。

[cloud native apps]: https://glossary.cncf.io/cloud-native-apps/
114 changes: 114 additions & 0 deletions content/ja/docs/platforms/faas/lambda-auto-instrument.md
Original file line number Diff line number Diff line change
@@ -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を追加する
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

英語見出しを追加


[Collector Lambdaレイヤーのガイダンス](../lambda-collector/)を参照して、アプリケーションにレイヤーを追加し、Collectorを設定してください。
これを最初に追加することをおすすめします。

### 言語要件

{{< 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_<NAME>_ENABLED`: 特定のライブラリやフレームワークの自動計装を有効にするには true を設定します。`<NAME>`の部分を有効にしたい計装で置き換えます。利用可能な計装のリストについては、[特定のエージェントの計装を抑制する][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` を設定する
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

英語見出しを追加


Node.js、Java、Rubyの場合は `AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-handler` 、Pythonの場合は`AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-instrument` を設定して、アプリケーションのエントリーポイントを変更します。
これらのラッパースクリプトは、自動計装を適用したLambdaアプリケーションを起動します。

### 計装LambdaレイヤーのARNを追加する

Lambda関数でOTelの自動計装を有効にするには、計装レイヤーとコレクターレイヤーを追加して設定し、トレースを有効にする必要があります。

1. AWSコンソールで、計装するLambda関数を開く。
2. 「レイヤー」セクションで、「レイヤーの追加」を選択します。
3. 「ARNを指定」でレイヤーのARNを貼り付け、「追加」を選択します。

あなたの言語の[最新の計装レイヤーリリース](https://github.com/open-telemetry/opentelemetry-lambda/releases)を見つけ、そのARNを使用します。
`<region>`タグをあなたのラムダがあるリージョンに変更します。

注意: ラムダレイヤーはリージョンで分かれたリソースで、公開されているリージョンでのみ使用できます。Lambda関数と同じリージョンでレイヤーを使用するようにしてください。コミュニティは、利用可能なすべてのリージョンでレイヤーを公開しています。

### SDKのエクスポーターの設定

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を公開する

Lambdaの新しいバージョンを公開して、新しい変更と計装をデプロイします。
156 changes: 156 additions & 0 deletions content/ja/docs/platforms/faas/lambda-collector.md
Original file line number Diff line number Diff line change
@@ -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を追加する

アプリケーションの計装が完了したら、コレクターLambdaレイヤーを追加してデータを収集し、選択したバックエンドに送信します。

[最新のコレクターレイヤーリリース](https://github.com/open-telemetry/opentelemetry-lambda/releases)を見つけ、そのARNを使用します。
`<region>`タグをラムダがいるリージョンに変更します。

注意: ラムダレイヤーはリージョンで分かれたリソースであり、公開されているリージョンでのみ使用できます。Lambda関数と同じリージョンでレイヤーを使用するようにしてください。コミュニティは、利用可能なすべてのリージョンでレイヤーを公開しています。

### OTelコレクターの設定

OTelコレクターLambdaレイヤーの設定は、OpenTelemetry標準にしたがっています。

デフォルトでは、OTelコレクターLambdaレイヤーはconfig.yamlを使用します。

#### 希望するバックエンドの環境変数を設定する

Lambda環境変数の設定で、認証トークンを格納する新しい変数を作成します。

#### デフォルトエクスポーターを更新する

もしまだ存在していなければ、`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を公開する

Lambdaの新しいバージョンをパブリッシュして、行った変更を有効にします。

### 高度な OTel コレクターの設定

カスタム構成でサポートされる利用可能なコンポーネントのリストは、こちらをご覧ください。
デバッグを有効にするには、設定ファイルを使ってログレベルをデバッグに設定します。
以下の例を参照してください。

#### 希望のConfmapプロバイダーを選択する

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) を参照してください。

#### カスタム設定ファイルの作成

以下はルートディレクトリにある `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
```

#### 環境変数を使ってカスタム設定ファイルをマップする

confmapプロバイダーを通してコレクターを設定したら、Lambda関数に環境変数 `OPENTELEMETRY_COLLECTOR_CONFIG_URI` を作成し、その値としてconfmapプロバイダーの設定のパスを設定します。
たとえば、ファイルconfigmapプロバイダーを使用している場合は、その値を `/var/task/<path>/<to>/<filename>` に設定します。
これにより、拡張モジュールにコレクターの設定がどこにあるかを伝えます。

##### CLIを使用したカスタムコレクター設定

Lambdaコンソール、またはAWS CLIから設定できます。

```bash
aws lambda update-function-configuration --function-name Function --environment Variables={OPENTELEMETRY_COLLECTOR_CONFIG_URI=/var/task/collector.yaml}
```

##### CloudFormationから設定用の環境変数を設定する

環境変数は**CloudFormation**テンプレートでも設定できます。

```yaml
Function:
Type: AWS::Serverless::Function
Properties:
...
Environment:
Variables:
OPENTELEMETRY_COLLECTOR_CONFIG_URI: /var/task/collector.yaml
```

##### S3オブジェクトから設定を読み込む

S3から設定を読み込むには、関数にアタッチされたIAMロールに、関連するバケットへの読み取りアクセスが含まれている必要があります。

```yaml
Function:
Type: AWS::Serverless::Function
Properties:
...
Environment:
Variables:
OPENTELEMETRY_COLLECTOR_CONFIG_URI: s3://<bucket_name>.s3.<region>.amazonaws.com/collector_config.yaml
```
23 changes: 23 additions & 0 deletions content/ja/docs/platforms/faas/lambda-manual-instrument.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: Lambdaの手動計装
weight: 11
description: OpenTelemetryであなたのLambdaを手動計装する
default_lang_commit: 9ba98f4fded66ec78bfafa189ab2d15d66df2309
---

Lambdaの自動計装ドキュメントでカバーされていない言語については、コミュニティはスタンドアロンの計装レイヤーを持っていません。

ユーザーは、選択した言語の汎用計装ガイダンスにしたがい、コレクターLambdaレイヤーを追加してデータを送信する必要があります。

### OTelコレクターLambdaレイヤーのARNを追加する

[コレクターLambdaレイヤーのガイダンス](../lambda-collector/)を参照して、アプリケーションにレイヤーを追加し、コレクターを設定してください。
これを最初に追加することをおすすめします。

### LambdaをOTelで計装する

アプリケーションを手動で計装する方法については、[各言語向け計装ガイド](/docs/languages/) を確認してください。

### Lambdaを公開する

Lambdaの新しいバージョンを公開して、新しい変更と計装をデプロイします。