リアルタイムエラートラッカーSentryのイベントをHipChatに通知する

目次

リアルタイムエラートラッカーであるSentryは、アプリのイベントログをグラフィカルに表示してくれるのですが、
イベントを通知する方法はメールだけではありません。

Plugins — Sentry 7.0.0-DEV documentation
(リンク切れ)

上記のドキュメントにも記載されている通り、3rd Partyのプラグインがいくつか紹介されています。
本記事では、Sentryの通知をHipChatに通知する方法を紹介してみます。
(HipChat自体はもうサービス終了しているので、本記事はかなり古くなっています)

参考サイト

Sentry自体の機能やインストール方法は、以下のサイトが参考になるので割愛
Sentry + Django コトハジメ
Sentry をインストール
イベントログ収集ツールの Sentry が凄そう

sentry-hipchatのインストール

linovia/sentry-hipchatのREADME.rstに書いてある通りです。
多分、ここまでは誰も詰まらない筈w

pip install sentry-hipchat

sentry-hipchatの設定

プロジェクトの設定画面からHipChat連携を有効化する

HipChat連携

連携でHipChatを有効化すると、連携部分のHipchatの欄ができるので、ここにAPIトークンなどを入力。

APIトークン

sentry-hipchatのHipChat APIバージョンはv1なので、HipChatのAdminユーザでAPIトークンを発行する(TypeはNotificationでよい)

各設定項目をチェックするときの運用参考例

  • New only
    新しいイベントのみ通知する。
    通知されたイベントに対してresolveにチェックを付けるといった運用とセットで有効化しないと、既存エラーが2件目以降通知されなくなるので注意する。

  • Notify
    HipChatに通知するとき、notifyをTrueにする。
    チェックしておけば、部屋のユーザに緊急エラーであることがわかるが、エラーが多いと通知が邪魔になる。

  • Include project name
    HipChatへ連携されたときに、プロジェクト名がメッセージに入るようになる。
    sentry-hipchatはプロジェクト単位で設定できるので、チーム内で複数プロジェクトから連携する際に便利となる(production,staging,developなど)

HipChat連携結果

こんな感じで連携される。 リンク先をクリックすると、HipChatからSentryのエラー内容へ飛べるので、メールでの通知より便利になるかなと。

HipChat連携結果