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

コードの分割

今回はリーダブルコードの8章。コードの分割について。 ポイントとしては1行に情報を詰め込みすぎているような場合は分割して、意味がわかりやすい区切りにまとめよう、といったことでしょうか。つまりは「困難は …

no image

命名規則について

リーダブルコードシリーズ第2段、名称について。 コードにおいては名称がとても大切で、正しい命名づけなどはなかなか難しいです。 以下に大事で重要だと思ったポイントを。 Contents1 具体的でわかり …

no image

APIのエラーコードに関して

APIのよく使われるHTTPステータスコードに関して。 基礎の基礎で当たり前に使ってましたが、基本的なことに関してまとめ。 主に4XXエラーのタイプ分けに関して。 Contents1 2002 201 …

no image

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

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

no image

phing

今までphpunit,phpmd,phpcodesniffer,phpdocumentなどのツールをいろいろと試してきますが、個別に動かしていると大変面倒ですので、これを一気に行えるライブラリがありま …

アーカイブ