skillup

技術ブログ

プログラミング全般

エラーレポーティングサービス Sentryについて

投稿日:2019年3月17日 更新日:

リリースした後、運用段階に入ると定期的にバグ報告が上がってきます。

本来はリリース前に研修テストをすべきなんですが、そんな余裕ないことも多い(汗)

で、そんな時に大事なのが

  1. エラーを気づけること
  2. 対処法をあらかじめ考えておくこと

の2点でしょうか。

エラーを気づけること

バッチの時もそうですが、以下にエラーに気づけるかが大事ですね。予算に余裕がなかったり、プロジェクト自体が実験的だったりするとお客さんから報告を受けて直すってことが多いですが、そうならずに対処できるのが理想です。

そのために必要なのが、以下のようなことでしょうか。

ログの管理

実際に運用始めるととんでもない量のログが出るので、どれくらいの量をだすのか、ローテートはどうするか、原因追求速度をあげるためにもレベル管理分けはどの程度するか、などをしっかり考えて起きましょう。

例外処理

基本、プログラムってどこかでこけることを前提に組んだ方がいいですね。自分も自分のプログラムも信用しない人の方がうまくいくと思います(汗)

プログラム側でしっかり組むのは当然として(フレームワークだと自動的に例外が出るようにはなっていますが・・・)

もう一つ大事なことは、エラー検知サービスの活用です。

Sentry

https://sentry.io

これはエラーが起こった時に自動的にエラーを記録、通知してくれるサービスです。これがあると一々ログを見なくとも詳細なレポートを画面に出してくれるので、どこでエラーが起こったかがすぐわかります。

また通知してくれるので、すぐに気づけます(土日にくると嫌ですが・・・・(汗))

上記URLから登録して、Exceptionを発生させればエラーを記録してくれます。

サンプルコードは下記を参考に。

https://github.com/umanari145/phptips

対処法をあらかじめ考えておくこと

サービスが運用する前に考えておくべきことですが、下記のような対策をするといいのではと思いました。

  1. 作業重要度、優先度の振り分け
  2. メンテ時間を月1などで持たせてもらい、ユーザーがさわれない時間を作る
  3. データが一番大事なので、復旧作業手順などをあらかじめ考えておく
  4. 最悪、サービスが止まった時の運用方法を考慮しておく

-プログラミング全般
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

シェルスクリプト ファイル読み込み・switchなど

以前のエントリーに引き続き、シェルスクリプトでログを解析する処理があってそこで覚えたことなどをまとめておきます。 Contents1 ファイル読み込み2 switch文2.1 基本パターン2.2 条件 …

no image

アプリケーション間のデータの連携方法に関して

以前やった「現場で役立つシステム設計の原則」を再読してます。 今、読んでいるのはアプリ間のデータ連携に関して。 複数のアプリ間でデータをやり取りする場合、以下のような方法が考えられます。 ファイルを直 …

no image

オブジェクト指向 クラスの設計と業務ロジックの整理

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日は主にクラスの作り方について。 Contents1 クラス設計と業務ロジック1.1 要点1.2 感想 クラス設計と業務ロジック …

no image

ミスを少なくする工夫について

プログラマであればだれもが「いかにバグを少なくするか」に腐心すると思います。 ところが、人間がある以上、バグ(ミス)は絶対にゼロにはなりません。バグ云々以前に、「人間はもともとミスをする生き物だ」とい …

no image

テスト分類について

一般的なテスト工程での分類や個人的に大事だと思うこと Contents1 全プロセス共通1.1 テストデータ作成バッチ1.2 ローカル、開発、ステージング、本番の分岐2 PT(プログラムテスト)、単体 …