Docs » Splunk Observability Cloud 用のサーバーレス関数を実装する » AWSのLambda関数をSplunk Observability Cloudにインストルメンテーションする » Splunk OpenTelemetry Lambda レイヤーを設定する

Splunk OpenTelemetry Lambda レイヤーを設定する 🔗

Splunk OpenTelemetry Lambda レイヤーは、ほとんどのインストルメンテーションニーズに合わせて設定できます。ほとんどの場合、基本設定を変更するだけで十分です。Splunk OpenTelemetry Lambda レイヤーを設定する を参照してください。

以下の設定を変更することで、Splunk OpenTelemetry Lambda レイヤー独自の新機能を有効にするオプションを含め、Lambda レイヤーを完全に設定することができます。

一般設定 🔗

以下の設定は、Splunk Observability Cloud にデータを送信する Lambda レイヤーを有効にします:

環境変数

説明

SPLUNK_REALM

組織のレルムの名前。レルムを指定しない場合は、トレース データとメトリクス データのカスタム エンドポイントを定義する必要があります。エクスポーターの設定 および メトリクスの設定 を参照してください。

SPLUNK_ACCESS_TOKEN

エクスポーターがデータを Splunk Observability Cloud に直接送信するための Splunk 認証トークン。環境変数 SPLUNK_REALM が存在する場合に必要です。Splunk Observability Cloudを使用して認証トークンを作成および管理する を参照してください。

トレース設定 🔗

以下の設定は、トレースの制限と属性を制御します:

環境変数

説明

OTEL_SERVICE_NAME

インストルメンテーションするサービスまたはアプリケーションの名前。OTEL_RESOURCE_ATTRIBUTES で定義されているサービス名よりも優先されます。

OTEL_RESOURCE_ATTRIBUTES

報告されるスパンごとに追加されるリソース属性のカンマ区切りリスト。例えば、この変数を deployment.environment=<name-of-your-environment> に設定することで、関数のデプロイ環境の名前を定義することができます。

OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT

スパンごとの属性の最大数。デフォルトは無制限です。

OTEL_SPAN_EVENT_COUNT_LIMIT

1スパンあたりの最大イベント数。デフォルトは無制限です。

OTEL_SPAN_LINK_COUNT_LIMIT

スパンあたりの最大リンク数。デフォルトは 1000 です。

OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT

属性値の文字列の最大長。制限値より大きな値は切り捨てられます。デフォルトは 1200 です。

エクスポーターの設定 🔗

以下の設定は、トレースエクスポーターとそのエンドポイントをコントロールします:

環境変数

説明

OTEL_TRACES_EXPORTER

使用するトレース・エクスポーター。カンマ区切りで複数の値を設定できます。設定可能な値は otlp および jaeger-thrift-splunk です。

OTEL_EXPORTER_OTLP_ENDPOINT

OTLP エンドポイント。デフォルトは localhost、http://localhost:4318 で動作しているコレクタです。

OTEL_EXPORTER_JAEGER_ENDPOINT

Jaeger エクスポーターのエンドポイント。SPLUNK_REALM 環境変数に値を設定すると、デフォルトのエンドポイントは https://ingest.<realm>.signalfx.com/v2/trace という形式になります。

注釈

ほとんどの場合、エクスポーターとエンドポイント URL の設定は不要です。デフォルトでは、このレイヤーはテレメトリを Lambda レイヤーで実行される Collector に直接送信し、この Collector はデータを Splunk Observability Cloud インジェスト・エンドポイントに送信します。

プロパゲータの構成 🔗

以下の設定はトレース伝搬をコントロールします:

環境変数

説明

OTEL_PROPAGATORS

使用したいプロパゲータのカンマ区切りリスト。デフォルトは tracecontext,baggage です。サポートされているプロパゲータの一覧は、OpenTelemetry の公式ドキュメントにあります。

メトリクスの設定 🔗

以下の設定は、AWS Lambda のメトリクスデータの Splunk Observability Cloud への送信を制御します:

環境変数

説明

SPLUNK_METRICS_ENDPOINT

メトリクスデータ取り込み用のエンドポイント。環境変数 SPLUNK_REALM に値を設定すると、デフォルトのエンドポイントは https://ingest.<realm>.signalfx.com という形式になります。

FAST_INGEST

データポイントの送信に使用する戦略を指定します。false を使用してメトリクスデータをバッファリングし、REPORTING_RATE 変数で定義された間隔で Splunk Observability Cloud に送信します。デフォルトは true です。

REPORTING_RATE

レイヤーが Splunk Observability Cloud にデータポイントを送信する頻度を秒単位で指定します。デフォルト値は 15 です。最小値は 1 です。

REPORTING_TIMEOUT

データポイントを Splunk Observability Cloud に送信するタイムアウト (秒単位)。デフォルト値は 5 です。最小値は 1 です。

VERBOSE

メトリクスデータ収集のための冗長ロギングを有効にします。AWS CloudWatchは、Lambda関数に関連付けられたロググループとしてログを保存します。デフォルトは false です。

HTTP_TRACING

Splunk Observability Cloud への HTTP 呼び出しの詳細ログを有効にします。デフォルトは false です。

詳細は Splunk Observability Cloud の AWS Lambda メトリクスとディメンション を参照してください。

サーバートレース情報 🔗

モバイルおよびウェブアプリケーションからのリアルユーザーモニタリング (RUM) リクエストとサーバーレスのトレースデータを接続するために、Splunk OpenTelemetry Lambda レイヤーは HTTP レスポンスに以下のレスポンスヘッダーを追加します:

Access-Control-Expose-Headers: Server-Timing
Server-Timing: traceparent;desc="00-<serverTraceId>-<serverSpanId>-01"

Server-Timing ヘッダーは、traceIdspanId パラメータを traceparent 形式で含みます。詳しくは、W3CウェブサイトのServer-Timingとtraceparentのドキュメントを参照してください。

その他の設定 🔗

環境変数

説明

OTEL_INSTRUMENTATION_AWS_LAMBDA_FLUSH_TIMEOUT

スパンのバッファリングのタイムアウトをミリ秒単位で指定します。デフォルト値は 30000 ミリ秒です。

OTEL_LOG_LEVEL

デバッグロギングのレベル。デフォルトは WARN です。DEBUG に設定すると、レイヤーは追加のログを AWS CloudWatch に送信します。

SPLUNK_LAMBDA_SLS_ZIP

Serverless Framework を使って圧縮された Python ライブラリをインストルメンテーションするには true を設定します。デフォルト値は false です。

SPLUNK_EXTENSION_WRAPPER_ENABLED

レガシーSignalFxメトリクスインストルメンテーションを無効にするには、false に設定します。これは、インフラストラクチャモニタリングを使用せず、ウォームアップ時間を短縮したい場合に便利です。デフォルト値は true です。

SPLUNK_LAMBDA_LOCAL_COLLECTOR_ENABLED

各 Lambda ランタイム内で実行されている OpenTelemetry Collector インスタンスを非アクティブにするには、false に設定します。バンドルされている Collector を非アクティブにする場合は、REST API インジェスト・エンドポイントに直接通信するか、Collector のフォワーディングインスタンスを設定し、そこにデータを送信するようにインストルメンテーションを設定します。デフォルト値は true です。詳細は EC2 で Collector ゲートウェイをセットアップする を参照してください。

OTEL_PYTHON_DISABLED_INSTRUMENTATIONS

Comma-separated list of Python instrumentations you want to deactivate. For a list of automatically loaded instrumentations, see the requirements list in the OpenTelemetry repository on GitHub: https://github.com/open-telemetry/opentelemetry-lambda/blob/main/python/src/otel/otel_sdk/nodeps-requirements.txt

注意

DEBUG ロギングを有効にすると、AWS CloudWatch のコストが増加する可能性があります。

This page was last updated on 2024年06月07日.