【Senryでエラー監視】Pythonのエラーを確認してみる

2021.11.28
2024.03.24
監視
flaskSentry

はじめに

本記事では、Sentryをとりあえず使ってみようと思います。

今回利用するSentryは、ローカルにDocker Composeで構築したものを利用します。Sentryとは何か、使い始めるまでの準備については下記で紹介しています。

【Sentry】どんなものか?使えるようにするには?

【Sentry】どんなものか?使えるようにするには?

はじめに Sentryについて**どんなものかざっくりと解説し、実際に使えるようになるまでの準備

また、今回はFlaskアプリからエラーを発生させて、そのエラーをSentryから確認するので、Flask用のSDKを利用します。Flaskの基礎については下記で紹介しています。

いまさらFlask超入門

いまさらFlask超入門

はじめに Flaskについて、これから使い始める人向けに超簡単なアプリを作成して、実行してみるま

プロジェクト作成

まずはFlaskのエラーを受けるプロジェクトを作成します。

Sentryの管理画面の「Create Project」からプロジェクトを作成します。

利用する言語やフレームワークを選択します。今回はFlaskを利用するのでFlaskを選択します。

プロジェクト名も設定します。

プロジェクトが作成されると言語やフレームワークに応じた簡単なドキュメントが表示されます。

SDKインストール

次に、Flask用のSentry SDKをインストールします。

1pip install --upgrade 'sentry-sdk[flask]'

アプリ作成

Flaskアプリを作成します。

1import sentry_sdk
2from flask import Flask
3from sentry_sdk.integrations.flask import FlaskIntegration
4
5app = Flask(__name__)
6
7sentry_sdk.init(
8    # プロジェクトのDSNに変更する
9    dsn="http://61beb34072464ec2be4e8ab56adff1af@localhost:9000/2",
10    integrations=[FlaskIntegration()],
11    traces_sample_rate=1.0,
12)
13
14app = Flask(__name__)
15
16
17@app.route('/debug-sentry')
18def trigger_error():
19    division_by_zero = 1 / 0

プロジェクトのDSNは対象のプロジェクトの設定画面から確認できます。

Flaskアプリを実行します。

1export FLASK_APP=sentry-sample
2flask run

エラー確認

SentryのプロジェクトとFlaskアプリの準備ができたら、実際にエラーを発生させてSentryから確認していきます。

http://localhost:5000/debug-sentryにアクセスすることで「ZeroDivisionError」を発生させることができます。

Sentryのプロジェクト管理画面から発生したエラーを確認することができます。

詳細を見てみるとエラー内容の詳細がわかります。

例えば、エラーが発生したコードもわかるようになっています。

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee