Sentry
収集可能なイベント
Sentry が提供する Webhook の機能を利用して、各種イベントログを srest に送信できます。
イベントソース | イベントの概要 |
---|---|
event_alert | Issue が発生 (再発を含む) |
イベントソースは、HTTP ヘッダに含まれる Sentry-Hook-Resource
パラメータの値を指します。
INFO
Sentry のイベントログは非常にサイズが大きいため、srest において以下のフィールドは保存されません。
data.event._meta
data.event.breadcrumbs
data.event.exception.values[].raw_stacktrace
data.event.exception.values[].stacktrace
data.event.modules
設定手順
Webhook の登録
- Sentry にログインし、サイドバーの [Settings] から [Custom Integrations] - [Create New Integration] を開きます。
- [Choose an Integration Type] で [Internal Integration] を選択し、[Next] ボタンをクリックします。
- 下記の通りフィールドを設定します。
- Name:
srest
- Webhook URL:
https://api.srest.io/events/sentry/issue?api_key={API キー}
- Name:
- [Alert Rule Action] を有効化します。
- [Save Changes] ボタンをクリックします。
プロジェクトの設定
- 連携対象のプロジェクトページを開き、歯車アイコンをクリックします。
- [Alert Settings] から [View Alert Rules] - [Create Alert] を開きます。
- [Select Alert] では [Issues] を選択し、[Set Conditions] ボタンをクリックします。
- 下記の通りフィールドを設定します。
- Select an environment and project: 通知対象としたい環境とプロジェクトを選択。
- Set conditions: 任意の通知条件を設定し、[perform these actions] から [Sennd a notification via integration] を選択。リストから先程作成した [srest] を選択。
- Set action interval: イベントログの通知間隔を設定。
- [Save Changes] ボタンをクリックします。
TIP
Webhook との連携はプロジェクトごとに登録する必要があります。 srest でデータを可視化する上では、全てのプロジェクトで Webhook を有効化することを推奨します。
通知テスト
Sentry にイベントを発生させるには、アプリケーションで実際にエラーを発生させるか、API を利用してイベントを送信する必要があります。
以下は curl
を用いて Sentry のプロジェクトにイベントを送信する例です。
以下のコマンドを実行します。
zsh$ curl --data '{ "message": "test" }' \ -H 'Content-Type: application/json' \ -H "X-Sentry-Auth: Sentry sentry_version=7, sentry_key={SENTRY_KEY}, sentry_client=raven-bash/0.1" \ https://sentry.io/api/{PROJECT_ID}/store/
SENTRY_KEY
: Sentry のサイドバーから [Projects] を開き、エラー送信先対象のプロジェクトの歯車アイコンをクリックします。[Client Keys (DSN)] - [Configure] - [Public Key] から確認可能。PROJECT_ID
: [Projects] ページからエラー送信先のプロジェクトを開いたときの、URL の末尾にある含まれるパラメータproject=xxx
。
リクエストが成功すると、
{"id":"xxx"}
といったレスポンスが返されます。プロジェクトページから [Issues] を開き、送信したイベントが表示されることを確認します。
srest のダッシュボードを開き、サイドバーから [Sentry] を開きます。
送信が成功すると、[アラート一覧] に送信したイベントログが表示されます。
連携の解除
- Sentry のサイドバーから [Settings] - [Custom Integrations] を開きます。
- [INTERNAL INTEGRATIONS] のリストから [srest] のゴミ箱アイコンをクリックしてください。
- 削除の確認を求められるので、指定された ID を入力して [Confirm] ボタンをクリックします。