Splunk APM、Lambda関数とトレース、再び!

ログの外部でコンテキスト伝播の結果を確認するために、もう一度Splunk APM UIを参照します。

Splunk APM サービスマップで Lambda 関数を表示する

もう一度 APM で環境のサービスマップを確認してみましょう。

Splunk Observability Cloud で:

  • メインメニューのAPMボタンをクリックします。

  • Environment:ドロップダウンからあなたの APM 環境を選択します。

  • APM 概要ページの右側にあるService Mapボタンをクリックします。これによりサービスマップビューに移動します。

> 注意:トレースが Splunk APM に表示されるまで数分かかる場合があります。環境のリストにあなたの環境名が表示されるまで、ブラウザの更新ボタンを押してみてください
ワークショップの質問

違いに気づきましたか?

  • 今回は、伝播されたコンテキストによってリンクされたproducer-lambdaconsumer-lambda関数が見えるはずです!

Splunk APM、サービスマップ Splunk APM、サービスマップ

トレース ID で Lambda トレースを調査する

次に、環境に関連するトレースをもう一度確認します。

  • コンシューマー関数のログからコピーしたトレース ID を、Traces 下のView Trace ID検索ボックスに貼り付け、Goをクリックします

Splunk APM、トレースボタン Splunk APM、トレースボタン

メモ

トレース ID は、私たちが伝播したトレースコンテキストの一部でした。

最も一般的な 2 つの伝播規格について読むことができます:

  1. W3C
  2. B3
ワークショップの質問

私たちはどちらを使用していますか?

  • 私たちの NodeJS 関数をサポートする Splunk Distribution of Opentelemetry JS は、デフォルトW3C標準を使用しています
ワークショップの質問

ボーナス質問:W3C ヘッダーと B3 ヘッダーを混在させるとどうなりますか?

Splunk APM、IDによるトレース Splunk APM、IDによるトレース

consumer-lambdaスパンをクリックしてください。

ワークショップの質問

あなたのメッセージからの属性を見つけることができますか?

Splunk APM、スパンタグ Splunk APM、スパンタグ

クリーンアップ

いよいよワークショップの最後に来ました。後片付けをしましょう!

send_messageの停止

  • send_message.pyスクリプトがまだ実行中の場合は、次のコマンドで停止します:

    fg
    • これによりバックグラウンドプロセスがフォアグラウンドに移動します。
    • 次に[CONTROL-C]を押してプロセスを終了できます。

すべての AWS リソースを破棄する

Terraform は個々のリソースの状態をデプロイメントとして管理するのに優れています。定義に変更があっても、デプロイされたリソースを更新することもできます。しかし、一からやり直すために、リソースを破棄し、このワークショップの手動計装部分の一部として再デプロイします。

以下の手順に従ってリソースを破棄してください:

  • manualディレクトリにいることを確認します:

    pwd
    • 予想される出力は ~/o11y-lambda-workshop/manual です
  • manualディレクトリにいない場合は、次のコマンドを実行します:

    cd ~/o11y-lambda-workshop/manual
  • 以前にデプロイした Lambda 関数とその他の AWS リソースを破棄します:

    terraform destroy
    • Enter a value:プロンプトが表示されたらyesと応答します
    • これにより、リソースが破棄され、クリーンな環境が残ります