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

レイヤーを分けて AWS Lambda 関数をインストルメンテーションする 🔗

ランタイムまたは言語のみのレイヤーを使用して、Splunk Observability Cloud 用の AWS Lambda 関数を自動的にインストルメンテーションできます。個別のレイヤーを使用して関数をインストルメンテーションすると、オーバーヘッドを大幅に削減できます。

以下の手順に従って、Java、Python、または Node.js 関数用の Splunk OpenTelemetry Lambda レイヤーをインストールしてください。オールインワンのデフォルトデプロイ手順は、AWS Lambda 関数を Splunk Observability Cloud にインストルメンテーションする を参照してください。

互換性と必要条件をチェック 🔗

Splunk OpenTelemetry Lambda レイヤーは、AWS Lambda の以下のランタイムをサポートしています:

  • Java 8.al2、11、17、21

  • Python 3.8 and higher

  • Node.js 14以上

  • Go 1.21

AWS Lamda レイヤーは、標準的な x86_64 システムで 90 MB のオンディスクを必要とします。

詳細については、AWSのドキュメントサイトでLambdaのランタイムやその他のシステム要件を検索してください。

サイジングとスケーリングに関する考慮事項 🔗

パフォーマンスオーバーヘッドをさらに削減する必要がある場合は、レイヤーではなく別の EC2 インスタンスで Collector を使用することを検討します。EC2 の Collector ゲートウェイを使用して AWS Lambda 関数をインストルメンテーションする を参照してください。

言語用のAWS Lambdaレイヤーをインストールする 🔗

以下の手順に従って、Splunk OpenTelemetry Lambda レイヤーを使用して関数をインストルメンテーションします:

  1. AWS Lambdaコンソールで、インストルメンテーションしたい関数を選択します。

  2. Layers セクションで Add a layer を選択し、次に Specify an ARN を選択します。

  3. AWS Lambda 関数のリージョンの Amazon Resource Name (ARN) を、アーキテクチャーに合ったリストからコピーします:

    <h3>Splunk OpenTelemetry Lambda Java Layer</h3>
    
    <pre>
    arn:aws:lambda:us-east-2:254067382080:layer:splunk-apm-java:69
    arn:aws:lambda:us-east-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:eu-central-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:us-west-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:us-west-2:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:ap-south-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:ap-northeast-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:ap-northeast-2:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:ap-southeast-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:ap-southeast-2:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:ca-central-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:eu-west-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:eu-west-2:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:eu-west-3:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:eu-north-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:sa-east-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:eu-south-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:ap-northeast-3:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:ap-east-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:af-south-1:254067382080:layer:splunk-apm-java:6
    arn:aws:lambda:me-south-1:254067382080:layer:splunk-apm-java:6
    </pre>
    
  4. 選択したARNを Specify an ARN フィールドに貼り付け、Add を選択します。

  5. Splunk レイヤーが Layers テーブルに表示されていることを確認します。

  6. Collector レイヤーをインストールするには、前の手順を繰り返します。ローカルの Collector を使用しない場合は、データ転送モードの Collector のアドレスを指定する必要があります。EC2 で Collector ゲートウェイをセットアップする を参照してください。

    <h3>Splunk OpenTelemetry Lambda Collector Layer</h3>
    
    <pre>
    arn:aws:lambda:us-east-2:254067382080:layer:splunk-apm-collector:69
    arn:aws:lambda:us-east-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:eu-central-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:us-west-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:us-west-2:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:ap-south-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:ap-northeast-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:ap-northeast-2:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:ap-southeast-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:ap-southeast-2:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:ca-central-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:eu-west-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:eu-west-2:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:eu-west-3:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:eu-north-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:sa-east-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:eu-south-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:ap-northeast-3:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:ap-east-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:af-south-1:254067382080:layer:splunk-apm-collector:6
    arn:aws:lambda:me-south-1:254067382080:layer:splunk-apm-collector:6
    </pre>
    
  7. (オプション) 前の手順を繰り返して、Splunk Infrastructure Monitoring 用の AWS Lambda メトリクス拡張レイヤーをインストールします。

    <h3>Splunk Metrics Extension Layer</h3>
    
    <pre>
    arn:aws:lambda:us-east-2:254067382080:layer:splunk-lambda-metrics:69
    arn:aws:lambda:us-east-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:eu-central-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:us-west-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:us-west-2:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:ap-south-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:ap-northeast-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:ap-northeast-2:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:ap-southeast-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:ap-southeast-2:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:ca-central-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:eu-west-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:eu-west-2:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:eu-west-3:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:eu-north-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:sa-east-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:eu-south-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:ap-northeast-3:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:ap-east-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:af-south-1:254067382080:layer:splunk-lambda-metrics:6
    arn:aws:lambda:me-south-1:254067382080:layer:splunk-lambda-metrics:6
    </pre>
    

注釈

AWS Lambda レイヤーの更新は、AWS CLI やその他の自動化ツールを使って自動化できます。

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

以下の手順に従って、Splunk OpenTelemetry Lambda レイヤーに必要な設定を追加します:

  1. AWS Lambdaコンソールで、インストルメンテーションしている関数を開きます。

  2. Configuration に移動し、次に Environment variables に移動します。

  3. Edit を選択します。

  4. Add environment variable を選択して、以下の各環境変数を追加します:

    環境変数

    説明

    SPLUNK_REALM

    Splunk レルムを見つけるには、レルムに関する注意事項 を参照してください。

    SPLUNK_ACCESS_TOKEN

    Splunk Observability Cloud に直接データを送信するための Splunk 認証トークン。認証トークン を参照してください。EC2 の Splunk OTel Collector にデータを送信するには、EC2 で Collector ゲートウェイをセットアップする を参照してください。

    AWS_LAMBDA_EXEC_WRAPPER

    プログラミング言語に応じて、環境変数の値を設定します:

    # Select the most appropriate value
    
    # Wraps regular handlers that implement RequestHandler
    /opt/otel-handler
    
    # Same as otel-handler, but proxied through API Gateway,
    # with HTTP context propagation activated
    /opt/otel-proxy-handler
    
    # Wraps streaming handlers that implement RequestStreamHandler
    /opt/otel-stream-handler
    

    注釈

    デフォルトでは、AWS SDK v2 のインストルメンテーションのみが有効になっています。他のライブラリをインストルメンテーションするには、OpenTelemetry Java SDK から対応するライブラリのインストルメンテーションをインクルードするようにコードを修正してください。

    OTEL_SERVICE_NAME

    サービス名

    (オプション) OTEL_RESOURCE_ATTRIBUTES

    この環境変数を deployment.environment=<name-of-your-environment> に設定することで、関数のデプロイ環境の名前を定義します。

  5. Save を選択し、環境変数が表に表示されていることを確認します。

メトリクス・インジェストのモードを設定するには、メトリクスの設定 を参照してください。

注釈

デフォルトでは、レイヤーは、Collector レイヤーを使用して localhost 上の Collector インスタンスにテレメトリを送信します。ローカルの Collector を使用しない場合は、データ転送モードで Collector のアドレスを指定する必要があります。EC2 で Collector ゲートウェイをセットアップする を参照してください。

スパンを Splunk Observability Cloud に直接送信する 🔗

デフォルトでは、Splunk OpenTelemetry Lambda レイヤーはテレメトリを AWS Lambda と一緒に動作する Collector インスタンスに送信します。

Splunk OpenTelemetry Lambda レイヤーを使用してインストルメンテーションされた AWS Lambda 関数から Splunk Observability Cloud に直接スパンを送信するには、次の環境変数を追加します:

  • http/protobuf の値を持つ OTEL_EXPORTER_OTLP_TRACES_PROTOCOL

  • https://ingest.<realm>.signalfx.com/v2/trace/otlp の値を持つ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT は、<realm> を組織のレルム名で置き換えます。

Splunk Observability Cloud にデータが表示されることを確認する 🔗

AWS Lambda 関数が実行されるたびに、トレースデータとメトリクスデータが Splunk Observability Cloud に表示されます。データが表示されない場合は、Splunk OpenTelemetry Lambda レイヤーのトラブルシューティング を参照してください。

This page was last updated on 2024年05月08日.