ログ取得と調査

 最近バッハの器楽曲系がマイブームで聴きまくってます。少し前まではショスタコーヴィッチだったのに。自分の趣味が良く分かりません。

 さて、今回も管理周りの雑談です。殆どの人には不要な情報ですけど自己満足兼誰かのお役に立てるかもという趣旨で色々と。

 プログラム上の問題を解決する手がかりにする為にサーバ側で取得できるエラーログは全て出力する設定にしています。PHPに関しても同様で、サーバの設定で出力するようにしてある…のですが、先日確認したらとんでもない事になっていました。なんと、エラーログファイルサイズ4GB。メガじゃないです、ギガ。10の9乗です。いつもは数MD程度に収まっていたのですが。何が起こっているのかとても興味は有ったのですが流石に4GBを落とすのは時間かかってしょうがない上に原因はなんとなくつかめていたのでさくっとサーバ上で削除しました(サーバ上で圧縮してDLする手も有ったが時間かかり過ぎてサーバ上でプロセスが殺される可能性が高かった)。

 そこまでサイズがでかくなった一因と思われるのはサーバ上のphp.iniの設定で

error_reporting = E_ALL
display_errors = Off
log_errors = On
error_log= /hoge/fuga/php_error.log

なんていう設定にしているせいでもあります。簡単に言いますと、”error_reporting”で”E_ALL”(致命的でない些細な問題も報告対象にする)という所がこの原因です。実運用では

error_reporting = E_ALL & ~E_NOTICE

のようにして些細な問題は記録しないようにするのが普通なのですが、ここは個人的な理由でそうしています。即ち、瑣末な問題も解決できるものは解決しよう、目指せエラーログサイズ0!なんていうアホな方針を持っているからです。いや、そうすればたぶんサーバ負荷も最終的には低減できますし…あ、いやー、えーと、かなり自己満足です、はい…。

 で、エラーログの肥大の原因は恐らく使わなくなったCGIでエラーを吐くようになった物があり、これをWeb検索サイトのCrawlerが頻繁に叩き始めた事と推測されます。物によっては一回のアクセスでエラーログが数行生成されるらしく、そのせいで膨大なエラーが発生するという構造です。面倒なので原因と思われるCGIをさくっと削除しました。とりあえずこれで様子見です。

 今まで機会が無かったのでアナウンスしなかった事をついでに一つお知らせしておきます。OblivionとFallout 3の過去ログ検索に人気の検索語というページを作成しています(OblivionFallout 3)。これはログを調べる際に参考にしてもらう為に作成しています。FAQなネタを探すにもたぶん便利でしょうし。で、これのデータは更新Scriptで半自動的に作成しているのですが1、実は一部の語句はNG Wordとして集計から除外しています2。除外語句は誹謗中傷関連や成人指定的な物が多いです。無駄に荒れる要因は除外したい所ですし、又、z49.org上のSiteは成人指定ではありません3。多分そのようにしていた事にお気づきの方は多くなかったかもしれませんが、公開できる情報は公開すべきという方針の下、ここにアナウンスしておきます。

  1. 集計済みデータのUPは手動 []
  2. 集計から外しているだけであり、自分で検索フォームに突っ込んで検索しても弾かれるという訳ではありません。そこまでやったら検閲ですから []
  3. 過去ログ置き場Siteのトップには成人指定カテゴリの項目を載せてないのはこれが理由 []

コメントを残す

メールアドレスが公開されることはありません。