apacheのログの活用とwebalizerの簡単な見方
サーバーを管理する者にとって、ウェブのアクセスログは、非常に大事です。
アクセスログからは、訪問者数、ページニューなどのサーバーの基本情報はもちろんのこと、エラーや不正な攻撃などの情報も採取できます。
基本情報も大事ですが、エラー情報はもっと大事です。
エラーがあるということは、訪問者がサイトを訪れてもページを見れないことがあるということですから、チャンスを逸しているとも言えます。
今回は、そのエラーについて、話をしてみたいと思います。
生ログは、どこのレンタルサーバーでも同じなの(1種類)?
生ログと言われるいわゆるウェブサーバー(apache)が出力するログファイルは、ほとんどのレンタルサーバーがapacheを採用していることから、
多少の違いはあるものの1つの種類と思っても過言ではないと思います。
また、アクセス解析として提供されているものは、その生ログ情報から、見やすく展開したものですから、
「独自のアクセス解析を提供・・・」などと記載があっても出力される内容は、それほどの変化はありません。
レンタルサーバーを選ぶときは、この生ログ情報をいつでも見れるようなサーバーを選んだ方が良いでしょう。
webalizerによるログ解析
オープンソースなアクセス解析ツールとして、webalizerはシンプルで有名です。
webalizerは、先の生ログ情報から統計値を計算し、わかりやすくHTML形式でグラフも含めて出力するツールです。
毎日、その更新作業を行い、いつでも最新情報が表示できるようにしておけば、何か問題があったときにすぐに解析できるので便利です。
レンタルサーバー選びでは、少なくともwebalizerようなログ解析ツールを提供しているサーバーを選んだ方が良いでしょう。
以下は、あるサイトのwebalizerでのアクセス情報を表示したときのイメージです。
各ページについての見方を簡単に解説してみます。
- [月毎のアクセス情報]
文字通り、月ごとのアクセス状況を見るのに最適なページです。
グラフから大方の推移がわかりますから、アクセスが減っている場合には、その時期に何をしたか、何が行われたか、色々推察することでアクセスが落ちた原因を究明することができます。
- [日毎のアクセス情報]
文字通り、日々のアクセス状況を見るのに最適なページです。
日々上下するアクセスの中で、同じ曜日の比較を行うと、より正確にアクセス状況を把握することができます。
- [ユーザエージェント毎のアクセス情報]
これはアクセスしてきたユーザエージェント情報なので、ブラウザだったりクローラ名だったりします。
このサイトは、前の記事で紹介した「百度」baiduの対策を行っていないので1位に「百度」baiduが登場しています。9位には、「Yeti」が登場しています。
参照記事:検索ロボット(クローラ)拒否で負荷軽減
- [レスポンスコード毎のアクセス情報]
これは、アクセスされたページに対してサーバーが返信したステータスコードの一覧になります。
全て200(正常)のステータスコードなら問題ないのですが、
ここでは、レスポンスコード503も少なからずあるようです。
このような場合、そのエラーコードが何時出力されたもので、どのページをアクセスして返信したものか確認することで、概ね原因を特定できるでしょう。
単純にアクセスが集中していてエラーとなっているようなら、検索ロボット(クローラ)拒否で負荷軽減 で「百度」baidu対策を行うと、レスポンスコード503が減ることもあります。
アクセス解析を提供していないレンタルサーバーもありますので、要チェックです。
アクセス解析を提供している場合は、ほとんどが生ログも提供していますが、これも、提示されていないような場合は、確認しておく必要があるかもしれません。
アクセスログが採取できるおすすめレンタルサーバーは、
さくらのレンタルサーバ(さくらインターネット) です。
webalizerと生ログを1年分保存できます。
最低限注意が必要なステータスコード
アクセスログには、ほとんど不要なものはないのですが、強いてあげるなら、最低限以下のステータスコードについては、意識しておく必要があると思います。
- 403 : Forbidden:禁止されている
-- 要は、訪問者がアクセス禁止のページがあることを意味していますから、そのアクセス禁止となっているページが意図しているものかの判断はしておく必要があります。
もし、意図していないアクセス禁止のページがある場合は、アクセス禁止を解除するようにします。
- 404 : Not Found:未検出
-- 要は、訪問者がアクセスしたURLが存在しないページがあることを意味していますから、その存在しないURLが、正しいかどうか判断はしておく必要があります。
もし、URLが正しくてこのエラーが出ているなら、なんらかの理由で表示されなくなっていますから、問題を解析し、表示するようにしましょう。
また、ページを移動した場合は、リダイレクトで移動先へページを切り替えてあげるようにしましょう。
- 500 : Internal Server Error:サーバ内部エラー
-- これは、phpなどのスクリプトエラーや.htaccessの設定誤りなどで、訪問者がアクセスてきない状態にあることを意味していますから、関連のphpを含むスクリプトや.htaccessを見直しましょう。
また、インストールなどで、自動的に行った場合、途中で警告、エラーメッセージなどが表示された場合などは、このエラーが出力されることがあります。その場合、サーバーの設定(ディレクトリの権限などを含む)などに原因がある場合があります。再確認しましょう。
- 503 : Service Unavailable:サービス利用不可
-- これは、ウェブサーバーが、実際に処理しきれていないことを意味していますから、詳細なロギングを確認する必要があるでしょう。
このエラーが発生した日時の詳細なロギングから、前後でどのようなアクセスが発生しているか確認します。
稀に発生(1日に数回程度)の場合は、クローラが原因の場合があります。必要でないクローラについては、クロールしないように設定するのも一つの案です。
頻繁に発生(1日に数十回程度)の場合は、そのレンタルサーバーの許容量を超えているのかもしれません。レンタルサーバー管理元へ相談してみるのも一つの案です。
上記以外のステータスコードは、HTTPステータスコードとは… を参照してください。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
関連記事
2012年11月14日, 5:16 AM
[...] httpd(apache or nginx)のログは、非常に大事です。参考記事:アクセスログの活用 [...]