Sentryのエラー通知メールの設定変更方法

Webサービスを運用しているとエラーが来ますが、適切に設定していないと以下のような原因で通知メールが多くなり、見逃してしまうことがよくあります。

  • 関わりがないプロジェクトのメールも飛んできて、重要な通知が埋もれてしまう
  • 同じエラーが何度も飛んでくることで、無意識的に関心が向かなくなってしまう
  • メールのタイトルで判別しづらく、関係ないと思ってスルーしてしまう

エラーの通知サービスとしてSentryを使っているのですが、どの画面に何の設定があるのか分かりづらいので余計に適切に設定しづらく感じます。

Sentryの 画面上の設定方法(2020/08/29現在)とSentry以外でよりエラー通知メールに気がつけるように工夫している点に関して共有したいと思います。 Sentryの画面構成は今後変わる可能性がある点に関しては、ご注意ください。

設定画面

Sentryのエラー通知の設定画面は3つあります。それぞれ設定できることが違います。

  • ①プロジェクト毎の設定画面
  • ②個人ユーザ毎の設定画面
  • ③アラートの設定画面

特に設定した方が良いと思う設定をそれぞれ共有してみたいと思います。

①プロジェクト毎の設定画面

以下の設定ボタンを押し、プロジェクトの設定画面で アラートを押します。

f:id:moritamorie:20200829210907p:plain

この画面内の、メールの設定 - Subject Templateの箇所で、 [$projectID]を追加し、メールの件名にプロジェクトID(アプリケーション名)が入るようにしています。 f:id:moritamorie:20200829211657p:plain

こうすると

  • メールタイトルでどのアプリケーションのエラー通知か分かりやすくなる
  • メール受信フィルタで、アプリケーション毎にメールを分けられるようになる
    • => どこまで未読かが分かりやすくなり、新規のエラーに気が付きやすくなる

と思います。

ステージング環境でのエラー通知メールもを受け取るようにして、本番環境のエラーと判別しやすくしやすくする場合などは ${tag:environment}も追加しておくと良さそうです。

②個人ユーザ毎の設定画面

以下の画面で、User Settings => 通知、と選択します。

f:id:moritamorie:20200829210632p:plain

遷移した画面(Notifications)内の、アラート - Fine tune alerts by projectを選択すると、プロジェクト毎にメールを受信するかどうかを設定できます。課題の割り当て、ステータスの解決時等のメール通知をプロジェクト毎に設定する場合は、その下のワークフロー - Fine tune workflow notifications by projectから設定できます。

f:id:moritamorie:20200829213852p:plain

プロジェクトのメール通知は、オンオフデフォルト(上部のDEFAULT PROJECT ALERTS - Send Me Alertsの設定が適用される)から選択できます。 f:id:moritamorie:20200829214004p:plain

③アラートの設定画面

アラートは、プロジェクトが作られた時に自動的に1つ作られます。通知する人や、通知頻度、通知する環境(production, stating)をより適切に設定するにはデフォルトの設定から変更すると良いと思います。

左ナビゲーションから、アラート => Rulesタブ => プロジェクト毎の設定ボタン、と選択します。 f:id:moritamorie:20200829214409p:plain

Productionのエラー通知だけ(エラーが最初に発生した時にだけ)を受信したい場合には、この画面で

  • ALERT SETUP - 環境 で、production のように選択
  • ALERT CONDITIONSで、The issue is first seenを選択

のように設定すると、エラー通知するメールを減らす事ができ、埋もれにくくなると思います。

f:id:moritamorie:20200829214725p:plain

メール受信に関する工夫

エラー通知されたメールを把握しやすくする

プロジェクト毎の設定画面の「受信フィルター」で

を除外できるので、プロジェクトで古いブラウザーは対応しない等の方針があれば、設定しておくとより必要なエラー通知だけを受信できるようになります。 f:id:moritamorie:20200831002401p:plain

メールは、Gmailで受信していますが、以下のように受信メールフィルタを作って、プロジェクト毎にラベル付けをして、メールを振り分けています。

f:id:moritamorie:20200829215546p:plain

エラー通知されたメールを気が付きやすいように

「Checker Plus for Gmail」というChrome拡張を使って、Sentryの各プロジェクトIDでラベル付けされたメールが届くと音がなるようにしています。 f:id:moritamorie:20200830094013p:plain

寄付すると音を変更できるようになるので、プロジェクト毎に変更してみると良いかもしれません。

また、デスクトップ通知も有効にして、より気が付きやすくしています。 f:id:moritamorie:20200830094730p:plain

終わりに

設定画面が色々なところにあって分かりづらいですが、適切に設定できるととても便利です。 他にもデプロイ時に通知を飛ばしたり、メールではなくSlackに通知を飛ばしたり、色々できるので、プロジェクトに応じて設定を変更してみると良いかもです。

参照ドキュメント