Sentry
収集可能なイベント
Sentryが提供するWebhookの機能を利用して、各種イベントログをsrestに送信できます。
イベントソース | イベントの概要 |
---|---|
event_alert | Issueが発生 (再発を含む) |
イベントソースは、HTTPヘッダに含まれる Sentry-Hook-Resource
パラメータの値を指します。
設定手順
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] ボタンをクリックします。