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

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

AWS Lambda for Splunk APM で Go 関数をインストルメンテーションするには、以下の手順に従います:

  1. 以下のコマンドを実行して、otellambda と Splunk OTel Go ディストリビューションをインストールします:

    go get -u go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda
    go get -u github.com/signalfx/splunk-otel-go/distro
    
  2. 関数のコードの中に、OpenTelemetryインストルメンテーションのラッパーを作成します。例:

    package main
    
    import (
       "context"
       "fmt"
    
       "github.com/aws/aws-lambda-go/lambda"
       "github.com/signalfx/splunk-otel-go/distro"
       "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda"
       "go.opentelemetry.io/otel"
    )
    
    func main() {
       distro.Run()
       flusher := otel.GetTracerProvider().(otellambda.Flusher)
       lambda.Start(otellambda.InstrumentHandler(HandleRequest, otellambda.WithFlusher(flusher)))
    }
    
    type MyEvent struct {
       Name string `json:"name"`
    }
    
    func HandleRequest(ctx context.Context, name MyEvent) (string, error) {
       return fmt.Sprintf("Hello %s!", name.Name), nil
    }
    

    注釈

    完全な例については、GitHub の OpenTelemetry Lambda tracing examples を参照してください。

  3. 必要な環境変数を設定します。Splunk OpenTelemetry Lambda レイヤーを設定する を参照してください。

詳細は、AWS Lambda 関数を Splunk Observability Cloud にインストルメンテーションする を参照してください。

This page was last updated on 2024年04月16日.