見出し画像

Lambda(Python)でSentryのIssueが届かない

個人開発でスマホアプリを開発しています。
バックエンドは、API GatewayとLambdaで構築されたWeb APIがあります。
ありがたいことに、使っていただいているユーザーさんが少しずつ増えてきたため、
バックエンドの監視体制を強化しようということで、SentryをLambdaに乗っているPythonに実装することにしました。
ただ、そこで若干ハマってしまったので、Lambda(Python)でのSentry設定方法についてシェアします。

AWS Lambda | Sentry for Python

Pythonでの実装にはいくつか方法があります。
私は、Sentry Lambda LayerをLambdaに手動で追加する方法をとっていました。
Lambda Layerを追加して、Lambda(Python)には以下のようなコードを書きました。

import sentry_sdk

sentry_sdk.init(
    dsn=os.environ['SENTRY_DSN'],
    integrations=[
        AwsLambdaIntegration(),
    ],
)

テストをしてみると、Sentryにトランザクションが送られない。
そして、ログには何も出力されていない😭

解決の糸口となったのは、SDK debug log でした。

これを有効にすると、足りないライブラリのインポートが見つかった!

無事トランザクションが通ることを確認しました🙌

(ちゃんとドキュメントを読んだら、このように設定するよう書いてありました😊)

Sentryサポートに連絡したところ、色々回答をいただきましたが、 SDK debug log というものがあることを教えてもらいました👀
デフォルトで無効になっているようです。sentry_sdk.init で有効にしてあげると使えます。

Basic Options | Sentry for Python

Sentryサポートの対応はいつも丁寧で感謝です🙏


いいなと思ったら応援しよう!