Skip to content

Latest commit

 

History

History
104 lines (68 loc) · 4.09 KB

aws-x-ray-note.md

File metadata and controls

104 lines (68 loc) · 4.09 KB

そこそこすぐ始められるチュートリアル

よくわからん。

AWS SAMは sam init で x-rayオプションあるのでそれが早いかも。ああできた。

デプロイして curlでURL呼んで AWS X-Rayコンソールで、トレース開くだけ。

ただこれCloudWatch log同様 AWS::XRay::Group 書いたほうがいいのでは。Former2で掘ってみる。

CFnメモ

上のsamをFormer2で掘ってみた。

app.pyは普通。trace的なものはなにも入ってない。

AWS::Lambda::Functionだと

Properties:
  TracingConfig:
    Mode: 'Active'

Roleは

  • "arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess"
  • "arn:aws:iam::aws:policy/service-role/"

"AWS::XRay::Group"はデフォルトしかない

XRayGroup:
  Type: 'AWS::XRay::Group'
  Properties:
    GroupName: 'Default'
    InsightsConfiguration:
      InsightsEnabled: false
      NotificationsEnabled: false

プロジェクトごとに指定できたほうがいいよね...

グループの作成 Configuring groups in the X-Ray console - AWS X-Ray

ああなるほど。グループはルールベースなんだ。 最初からフィルタって名前にしとけばいいのに

フィルタ式を使用したコンソールでのトレースの検索 - AWS X-Ray

では AWS::XRay::SamplingRule は?

AWS X-Ray

AWSのモニタリングサービスの1つで 主にプロファイラ、エラー検出の機能を持つ。

用語

X-Rayで使われる用語は AWS X-Ray の概念 - AWS X-Ray を参照。

とりあえず知っておく用語は以下の2つ

トレース

一連のサービス呼び出し・結果の返却(「セグメント」)の塊。たとえばAPI GatewayのstageからLambdaが呼び出され、LambdaがDynamDBを呼んで... の一連のセグメント。

トレース1個分を表示するのが X-Rayコンソールtraces で、 一定期間のトレースをまとめて表示するのが service map

グループ

グループという名前だが、実質フィルタ。トレースに対する条件式を書く。 X-Rayコンソールのトレースやサービスマップでグループを指定すると、フィルタされたトレースのみが表示されるようになる。

条件式はこれ フィルタ式を使用したコンソールでのトレースの検索 - AWS X-Ray

Lambdaの同期呼出のサンプル

非同期呼出やPollベース呼出だと

devでX-Rayを有効にして、prodで無効にする、のようなマスタースイッチ的な機能は?

アプリケーション側では Lambda Powertools Pythonを使うなら、Disabling response auto-capture からの3節を参照。

参考リンク AWS再入門ブログリレー2022 X-Ray編 | DevelopersIO