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)には以下のようなコードを書きました。
sentry_sdk.init(
dsn=os.environ['SENTRY_DSN'],
integrations=[
AwsLambdaIntegration(),
],
debug=True, # デバッグオプションを True に。
)
テストをしてみると、Sentryにトランザクションが送られない。
そして、ログには何も出力されていない😭
解決の糸口となったのは、SDK debug log でした。
これを有効にすると、足りないライブラリのインポートが見つかった!
無事トランザクションが通ることを確認しました🙌
(ちゃんとドキュメントを読んだら、このように設定するよう書いてありました☺️)
Sentryサポートに連絡したところ、色々回答をいただきましたが、 SDK debug log というものがあることを教えてもらいました👀
デフォルトで無効になっているようです。sentry_sdk.init で有効にしてあげると使えます。
Basic Options | Sentry for Python
Sentryサポートの対応はいつも丁寧で感謝です🙏