以下の内容はhttps://masarasi.hatenablog.com/entry/2025/04/21/143047より取得しました。


MackerelにLambdaのトレースをADOTで送信する

Pythonのコードを実行するLambdaのトレースを、ADOT(AWS Distro for OpenTelemetry)を使用してMackerelに送信するための手順です。

Lambda関数の作成

簡単なPythonのコードを実行する関数を作成する。すでにある場合は不要。

関数の作成

関数を作成したら、設定画面のコードタブに適当なコードを貼り付けてDeployする。コードの内容は省くがGeminiに作ってもらった。

ADOTレイヤーの追加

トレースを送信するためのADOTレイヤーを関数に追加する。コードタブの下の方にレイヤーを追加する箇所がある。

レイヤーの追加

レイヤーの追加をクリックし、ARNを指定する。

レイヤーを選択

ここに指定するARNは AWS Distro for OpenTelemetry Lambda Support For Python で確認できる。arn:aws:lambda:ap-northeast-1:901920570463:layer:aws-otel-python-amd64-ver-1-29-0:2 という名前からわかるように、ap-northeast-1かつPython向けのものになっている。リージョンが違う場合はリージョンを置き換える。他の言語のものを使用する場合は Getting Started with AWS Lambda layers にあるリンクを参照すればよさそう。

Lambda サービストレースの有効化

AWS Distro for OpenTelemetry Lambda Support For PythonEnable auto-instrumentation for your Lambda function に記載の通り、アクティブトレースを有効にする。

設定タブ > モニタリングおよび運用ツール > その他の監視ツールの編集ボタンをクリックする。

その他の監視ツール

CloudWatch アプリケーションシグナルと AWS X-RayのLambda サービストレースの有効化にチェックを入れて保存する。

Lambdaサービストレース

環境変数の設定

トレースの送信先やMackerle APIキーなどを環境変数で設定する。設定タブの環境変数をクリックする。

環境変数

ここで以下の環境変数を設定する。

キー
AWS_LAMBDA_EXEC_WRAPPER /opt/otel-instrument
OTEL_EXPORTER_OTLP_PROTOCOL http/protobuf
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT https://otlp-vaxila.mackerelio.com/v1/traces
OTEL_EXPORTER_OTLP_TRACES_HEADERS Accept=*/*,Mackerel-Api-Key=<Mackerel APIキー>
OTEL_RESOURCE_ATTRIBUTES(任意) service.namespace=<サービスネームスペース名>

AWS_LAMBDA_EXEC_WRAPPERは言語によって異なる模様。Enable auto-instrumentation for your Lambda function に記載の通り、Pythonの場合は/opt/otel-instrumentになる。

なお、スパンに含まれるservice.nameはLambdaの関数名になる。OTEL_RESOURCE_ATTRIBUTESservice.nameを指定しても変わらなかったが、別の方法で変更できるのかもしれない。service.namespaceはちゃんと反映される。

テスト実行

テストタブでテストを実行する。

トレースを確認する

Mackerelにトレースが送信されていることを確認した。

トレース詳細画面

おまけ

同じVPC内のRDSにSELECTクエリを投げるだけのコードを実行した時のトレースの様子。SELECTのスパンが表示されているし、データベースパフォーマンス画面にもクエリが表示されている。

トレース詳細画面

データベースパフォーマンス画面




以上の内容はhttps://masarasi.hatenablog.com/entry/2025/04/21/143047より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14