🎓

例外処理とその監視について学ぶ(感想)

2024/04/03に公開

はじめに

この記事では、例外の処理と監視について学んだことの感想をまとめています。具体的にはRuby on Railsでの例外処理の考え方と、その例外処理を監視するためのツールであるSentryとPapertrailを利用した感想についてまとめています。

SentryとPapertrailの導入にはHerokuのアドオンを使用しました。

目次

  1. 例外処理について考える
  2. Sentryを使ってみる
  3. Papertrailを使ってみる
  4. まとめ

1. 例外処理について考える

目的

例外処理は必須事項だが、どのように実装するかはプロジェクトによって異なる。
これまでは感覚的に例外処理を実装していたので、今回は例外処理の考え方を改めて整理する。
https://qiita.com/jnchito/items/3ef95ea144ed15df3637

例外処理の主な考え方

  • 業務エラーとシステムエラーを区別する
  • APIからのエラーをシステムエラーに変換する
  • エラー処理も必ずテストする

これらに加えべからず集などはこれからは意識しつつ例外処理を行っていきたい。

感想

改めて考えると業務エラーとシステムエラーの区別を最近はあまり考えずに感覚で対処してしまっていたのでこれを期に学びなおせてよかった。

2. Sentryを使ってみる

目的

監視ツールをこれまで使ったことがなかったため、Sentryを使ってみる。

Sentryについて

  • アプリケーションのエラー監視とレポーティングを行うためのツール
  • アプリケーションで発生したエラーをリアルタイムで監視し、エラーの詳細情報を取得することが可能

使ってみた感想

ダッシュボードが見やすく、エラーの詳細情報に容易にアクセスでき、使い勝手が良さそうだと感じました。
Slackとの連携もでき、通知から直接エラーにアクセスできる点も魅力だと感じました。すぐに気づけるのはやはり大切。

Slackとの連携

無料プランを利用していると簡易の連携ができなかったのでWebhookを利用して連携してみました。

https://zenn.dev/link/comments/8748b45ad67445

3. Papertrailを使ってみる

目的

ログ監視ツールをこれまで使ったことがなかったため、Papertrailを使ってみる。

Papertrailについて

  • アプリケーションのログ管理を行うためのツール
  • ログを一元管理し、ログからの情報抽出や分析を容易に行うことができる

使ってみた感想

ログの一元管理ができるため、複数のアプリケーションを運用している場合に便利になると感じました。
また、Herokuのログは立ち上げに時間がかかってしまったり、遡りずらかったりする点がPapertrailを用いることで改善できるので今後の導入もありだと感じました。
Sentryと同様にSlackとの連携もでき、アラートを設定することで特定のログに着目した監視を自動化できるのは使い勝手が良いなと感じました。

Slackとの連携

https://zenn.dev/link/comments/9ac8eede317ad5

4. まとめ

  • 例外処理については今回の学んだ点を意識しつつ実践していきたい
  • Sentry, Papertrailともに便利なツールであると感じられたので他のツールについても触れていきたい
  • Herokuのアドオンが思った以上に簡単に追加できたので今後も積極的に使っていきたい

Discussion