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

AWS Lambda 関数を Splunk Observability Cloud にインストルメンテーションする 🔗

Splunk OpenTelemetry Lambda レイヤーを使用して、多くのプログラミング言語用の AWS Lambda 関数を自動的にインストルメンテーションします。開始するには、ガイド付きセットアップを使用するか、手動で手順に従ってください。

Generate customized instructions using the guided setup

Splunk OpenTelemetry Lambda レイヤーを使用して AWS Lambda 関数をインストルメンテーションするテンプレートを生成するには、AWS Lambda ガイド付きセットアップを使用します。AWS Lambda ガイド付きセットアップにアクセスするには、次の手順に従います:

  1. Splunk Observability Cloud にログインします。

  2. AWS Lambda ガイド付きセットアップ を開きます。オプションで、ガイド付きセットアップに自分で移動することもできます:

    1. ナビゲーションメニューで、Data Management を選択します。

    2. Available integrations タブにアクセスするか、Deployed integrations タブで Add Integration を選択します。

    3. インテグレーションフィルターメニューで、All を選択します。

    4. Search フィールドで AWS Lambda を検索します。

    5. AWS Lambda タイルを選択し、AWS Lambda のガイド付きセットアップを開きます。

Install the Splunk OpenTelemetry Lambda layer manually

ガイド付きセットアップを使用しない場合は、以下の手順に従って Splunk OpenTelemetry Lambda レイヤーを手動でインストールしてください。

Check compatibility and requirements

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のランタイムやその他のシステム要件を検索してください。

Considerations on sizing and scaling

このレイヤーのデフォルトバージョンは、複数のランタイムをサポートし、Collector とメトリクス拡張レイヤーを含んでいます。パフォーマンスのオーバーヘッドを削減する必要がある場合は、以下のデプロイ方法から選択することを検討してください:

Install the all-in-one AWS Lambda layer

以下の手順に従って、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 Layer</h3>
    
    <pre>
    arn:aws:lambda:us-east-2:254067382080:layer:splunk-apm:770
    arn:aws:lambda:us-east-1:254067382080:layer:splunk-apm:110
    arn:aws:lambda:eu-central-1:254067382080:layer:splunk-apm:110
    arn:aws:lambda:us-west-1:254067382080:layer:splunk-apm:110
    arn:aws:lambda:us-west-2:254067382080:layer:splunk-apm:110
    arn:aws:lambda:ap-south-1:254067382080:layer:splunk-apm:109
    arn:aws:lambda:ap-northeast-1:254067382080:layer:splunk-apm:109
    arn:aws:lambda:ap-northeast-2:254067382080:layer:splunk-apm:109
    arn:aws:lambda:ap-southeast-1:254067382080:layer:splunk-apm:109
    arn:aws:lambda:ap-southeast-2:254067382080:layer:splunk-apm:108
    arn:aws:lambda:ca-central-1:254067382080:layer:splunk-apm:108
    arn:aws:lambda:eu-west-1:254067382080:layer:splunk-apm:108
    arn:aws:lambda:eu-west-2:254067382080:layer:splunk-apm:108
    arn:aws:lambda:eu-west-3:254067382080:layer:splunk-apm:108
    arn:aws:lambda:eu-north-1:254067382080:layer:splunk-apm:108
    arn:aws:lambda:sa-east-1:254067382080:layer:splunk-apm:108
    arn:aws:lambda:eu-south-1:254067382080:layer:splunk-apm:55
    arn:aws:lambda:ap-northeast-3:254067382080:layer:splunk-apm:55
    arn:aws:lambda:ap-east-1:254067382080:layer:splunk-apm:55
    arn:aws:lambda:af-south-1:254067382080:layer:splunk-apm:55
    arn:aws:lambda:me-south-1:254067382080:layer:splunk-apm:55
    </pre>
    
  4. 選択したARNを Specify an ARN フィールドに貼り付け、Add を選択します。

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

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

注釈

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> を組織のレルム名で置き換えます。

Check that data appears in Splunk Observability Cloud

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

このページは 2024年12月09日 に最終更新されました。