Skip to content

Sentry

収集可能なイベント

Sentry が提供する Webhook の機能を利用して、各種イベントログを srest に送信できます。

イベントソースイベントの概要
event_alertIssue が発生 (再発を含む)

イベントソースは、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 の登録

  1. Sentry にログインし、サイドバーの [Settings] から [Custom Integrations] - [Create New Integration] を開きます。
  2. [Choose an Integration Type] で [Internal Integration] を選択し、[Next] ボタンをクリックします。
  3. 下記の通りフィールドを設定します。
    • Name: srest
    • Webhook URL: https://api.srest.io/events/sentry/issue?api_key={API キー}
  4. [Alert Rule Action] を有効化します。
  5. [Save Changes] ボタンをクリックします。

プロジェクトの設定

  1. 連携対象のプロジェクトページを開き、歯車アイコンをクリックします。
  2. [Alert Settings] から [View Alert Rules] - [Create Alert] を開きます。
  3. [Select Alert] では [Issues] を選択し、[Set Conditions] ボタンをクリックします。
  4. 下記の通りフィールドを設定します。
    • Select an environment and project: 通知対象としたい環境とプロジェクトを選択。
    • Set conditions: 任意の通知条件を設定し、[perform these actions] から [Sennd a notification via integration] を選択。リストから先程作成した [srest] を選択。
    • Set action interval: イベントログの通知間隔を設定。
  5. [Save Changes] ボタンをクリックします。

TIP

Webhook との連携はプロジェクトごとに登録する必要があります。 srest でデータを可視化する上では、全てのプロジェクトで Webhook を有効化することを推奨します。

通知テスト

Sentry にイベントを発生させるには、アプリケーションで実際にエラーを発生させるか、API を利用してイベントを送信する必要があります。

以下は curl を用いて Sentry のプロジェクトにイベントを送信する例です。

  1. 以下のコマンドを実行します。

    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
  2. リクエストが成功すると、 {"id":"xxx"} といったレスポンスが返されます。

  3. プロジェクトページから [Issues] を開き、送信したイベントが表示されることを確認します。

  4. srest のダッシュボードを開き、サイドバーから [Sentry] を開きます。

  5. 送信が成功すると、[アラート一覧] に送信したイベントログが表示されます。

連携の解除

  1. Sentry のサイドバーから [Settings] - [Custom Integrations] を開きます。
  2. [INTERNAL INTEGRATIONS] のリストから [srest] のゴミ箱アイコンをクリックしてください。
  3. 削除の確認を求められるので、指定された ID を入力して [Confirm] ボタンをクリックします。