skillup

技術ブログ

プログラミング全般

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

投稿日:

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

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

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

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

の2点でしょうか。

エラーを気づけること

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

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

ログの管理

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

例外処理

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

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

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

Sentry

https://sentry.io

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

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

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

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

https://github.com/umanari145/phptips

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

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

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

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

執筆者:


comment

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

関連記事

no image

オブジェクト指向設計 依存関係の管理

オブジェクト指向シリーズ。読みにくい本が多い中でオブジェクト指向設計実践ガイドは勉強になるなー。 Contents1 依存関係の管理1.1 メモ1.2 実際のコーディング上のコツ1.3 感想 依存関係 …

no image

調査スキルについて

本日は実務でとても大切な不具合の発見方法について 通常のプログラマとして仕事をしておりますと、通常の実装よりは不具合時の調査のほうが難しいことが多々あります。 もちろんものによるんですが、経験のある人 …

no image

設定ファイルの置き場所

一般的にレベルの高いソースとは保守性が高いものを指します。特にWEB系ですと仕様変更がしょっちゅうなので変更があったときにいかに少ない工数で対応できるかが大切です。 保守性をあげる工夫はいろいろありま …

no image

オブジェクト指向設計 柔軟なインターフェイス

オブジェクト指向シリーズ。今回はインターフェイスについて。 インターフェイスといっても、implementsを使った実装だけではなく、要はあるクラスが外部の窓口となるときに使うメソッドってことだと思う …

no image

正規表現その2

10/28に書いた正規表現に関しての追記です。 Contents1 覚えておきたいメタ文字2 留意点 覚えておきたいメタ文字 よく出るメタ文字の復習です。 メタ文字 メタ文字の説明 [] いずれかの1 …