WEB アプリケーションのエラーをメールで通知する時に気をつけること

2012/07/06

P1100308.JPG

前回、『FuelPHP のエラー通知をメールで受け取るアイディア』という記事を書いたら、こんな反応をもらいました。

この指摘はまったくその通りで、僕自身もまずまずアクセスの多いサイトを運用していますが、利用しているオレオレフレームワークが、エラーの度にメールを送る実装をしているために、おっしゃる通りのことがたまに起きます。

↓ほれ。

error

これなんかまだマシで、前なんか、数分で数万通のメールを受け取ったこともあるんだぜ!って、どうして自慢しているのかわかりませんが。。

ではどうすれば良いか。

このアドバイスの「log管理のサービスに任せるべき」とのヒントから、ちょっといくつか考えてみました。

実装の時間がとれず「考えただけ」ですので、あまり説得力がないのですが、とりあえず書きます。

2つのアイディアです。

1. FuelPHP が吐き出すログを swatch などの別の log 監視サービスで監視する

FuelPHP の core にはもともと Log クラスがあり、デフォルトでも、下記のようなエラーログが、APPPATH/logs/ 以下に出力されるようになっています。

Error - 2012-06-27 10:52:16 --> 2048 - Non-static method Jpaddress\Jpaddress::getJushoFromGoogle() should not be called statically in /Users/omoon/Documents/www/u2014/fuel/packages/jpaddress/classes/jpaddress.php on line 59
Error - 2012-06-27 10:52:18 --> 2048 - Non-static method Jpaddress\Jpaddress::getJushoFromGoogle() should not be called statically in /Users/omoon/Documents/www/u2014/fuel/packages/jpaddress/classes/jpaddress.php on line 59
Error - 2012-06-27 10:52:19 --> 2048 - Non-static method Jpaddress\Jpaddress::getJushoFromGoogle() should not be called statically in /Users/omoon/Documents/www/u2014/fuel/packages/jpaddress/classes/jpaddress.php on line 59
Error - 2012-06-27 10:52:19 --> 2048 - Non-static method Jpaddress\Jpaddress::getJushoFromGoogle() should not be called statically in /Users/omoon/Documents/www/u2014/fuel/packages/jpaddress/classes/jpaddress.php on line 59

これを、swatch などのログ監視ツールを使って監視し、よしなに通知のしくみを実装する、という方法です。

swatch には、メール通知の機能はもちろんありますし、一度検出されたエラーの通知を抑制する機能もついているので、メール通知が爆発するという、

error

このような悲惨な状況を回避することができるはずです。

詳しくは↓このあたりを参照。僕も近いうちに実装してみようと思っています。

第4回 サーバのログ監視ツールを使いこなそう

これが、第1のアイディア。勘違いがあったらご指摘願います。m(..)m

2. 独自実装した通知のしくみに、通知抑制機能を搭載する

で、もうひとつのアイディア。

要は、前回 FuelPHP に独自実装した通知システムに、swatch が持っているような通知抑制機能をつける作戦です。

サーバを自分の思い通りに設定できる状況なんかでは、1つめのアイディアのように外部 log 監視ツールを使うのが良いんでしょうが、そのような環境でない場合などは、独自実装するのもひとつの手かなと。

こちらも挑戦しがいがありそうなので、そのうち実装できればなーと思っております。

ということで、みなさんも、メールでのエラー通知には気をつけましょう。

それにしても、ブログはやっぱり技術の勉強にとても適したツールですね。
今回は大変勉強になりました。引き続きがんばります!

きょうのあさごはん

2012/07/06

P1100507.JPG

もこみち風スモークサーモン丼。
ごはんにスモークサーモンをのせて、オリーブオイル、黒胡椒、醤油を少々。

今年の上半期は今までにない刺激的な上半期でした。下半期も頑張ります。

食べもの飲みもので振り返る simpleA のアジア戦略に物申す会 in 水窪

2012/07/04

以前どこかで、白洲次郎小林秀雄の孫の白洲信哉は、友達を家に呼ぶと土鍋で自らステーキを焼くらしい、というのを耳にしてから、そのことにすごく憧れ続けているのですが、僕の友人にもそんな男がいました。

水窪に移住した、ふじのくに暮らし推進隊員冨士川凛太郎さんです。素晴らしいもてなしに感謝。

P1100327.JPG

P1100328.JPG

P1100335.JPG

P1100336.JPG

P1100337.JPG

P1100352.JPG

P1100354.JPG

P1100370.JPG

P1100377.JPG

P1100381.JPG

P1100382.JPG

P1100400.JPG

P1100427.JPG

P1100405.JPG

P1100485.JPG

P1100428.JPG

本当に素晴らしい会議でした。