2015/03/16
クラッシュレポート解析ツール「Bugsnag」のご紹介
目次
初めまして、アトラス社内で三人目の小川です。
R小川さんが既にいらっしゃるので、L小川でいきたいと思います。
今日は、弊社で利用しているクラッシュレポート解析ツールをご紹介します。
以前弊社では、システムエラーを検知する仕組みとして、システムエラーの発生時にメールでスタックトレースの通知を受け取るようにしていました。この仕組みでは、ある一つのエラーが複数ユーザの操作によって発生した場合に、そのエラーが発生した回数分メールを受け取ることになります。 そういった状況が積み重なると情報に埋もれてしまい、エラーの発生実態がつかみにくくなってしまいます。
そこでクラッシュレポート解析ツールの出番です。
クラッシュレポート解析ツールの有名なものとして
- Bugsnag (https://bugsnag.com/)
- RayGun (https://raygun.io/)
- Airbrake (https://airbrake.io/)
などがありますが、 現在弊社ではクラッシュレポート解析ツールに「Bugsnag」を利用しています。
ここでBugsnagでどういったことができるのか、簡単にご紹介したいと思います。
対応する言語・プラットフォーム
Java, iOS, Android, JavaScriptの他、全14種の言語・プラットフォームで利用することができます。 https://bugsnag.com/docs/notifiers
システムエラーの種類と件数を集計
システムエラーごとに発生件数をまとめ、発生した時期と合わせて確認できます。エラーを確認して緊急に対応すべき事象であればすぐに対応を開始します。
重篤度による分類
Bugsnagにエラーを通知する際、エラー情報にerror, warning, infoの重篤度を含めることができます。 この情報はBugsnagのダッシュボードに表示され、エラーリストの抽出に役立ちます。Errorを示すエラーがあればすぐに内容を確認するようにしています。
ステージ別分類
Production(本運用環境)/ Development(開発用環境)などの環境を設定し、発生したエラーを環境ごとに分類することができます。開発環境でもエラーは見逃しません。
検出時期による分類
最初または最後に検知された時期によってエラーを分類することができます。
エラーのアーカイブ
エラーの種類によっては、レアケースでひとまず様子を見たいときもあるかと思います。 一旦エラーをアーカイブしておき、その後指定した回数分エラーが発生したら、再度オープン扱いにすることもできます。
他ツールとの連携
弊社で既に利用しているGitHub・Gitlab・Slack・Asanaとも連携させることができるため、これまでの開発フローを大きく変えることなくシームレスにBugsnagを運用することができます。
https://bugsnag.com/docs/notification-plugins#communication-plugins
Bugsnagでは各エラーのステータス状態での分類もできます。
むすび
今回はBugsnagについてどういったことが出来るのかについて簡単にご紹介しました。
Bugsnagを導入することで、
- ユーザの操作によって発生したエラーを漏れなく検知
- 整理された情報でエラーの実態を把握
- 最適な改修作業
が可能になり、システムの改良に役立っています。
アトラスでは運用するシステムに順次このBugsnagの導入を進め、より良い品質のシステム開発・サービス提供に努めます。