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

シェルの基礎+ユーザー切り替え関連

雑誌を見ていたらシェルの特集があったので、ちょっとメモリます。 補強したいところのみ要点をチェック。 Contents0.1 実行パスについて0.2 ビルドインコマンド0.3 シェル変数・環境変数0. …

no image

サロゲートキーと主キーに関して

今までも何度か触れたサロゲートキーと主キーに関して。 今までの参考リンク 論理設計のグレーノウハウ サロゲートキー サロゲートキーに関して 主にシステム設計的な考察が多かったので、今回はユースケースか …

no image

ファジープロジェクト対策 その2

前回に引き続き、大事だと思ったこと。一部単なるフレームワークの作り方的な内容になっているかも。 Contents1 テンプレート共通化2 バリデーション3 ログ出し4 異常系の処理5 新規プラグイン+ …

no image

データのシリアライズ

おととしにJavaをやったときにでてきましたがSessionに情報を格納するときにでてきたシリアライズについて。 セッションはステートフルな状態を実現するための便利なデータの保存方法ですが、値をオブジ …

no image

ディレクション時に重要な視点

ディレクション(ベンダーや内製時)時に留意するポイント Contents1 開発ルールの構築2 アサインと人材スクリーニング3 言葉の共通化(特にアウトプット)4 問題化のキャッチアップ5 リソースの …