Apache の Web サーバー アクセスログの記載内容を把握してログ解析しよう

2015/09/09

apache-web-server-log-analyze01

一般的なホームページといった Web サイトの作成や、Web アプリを運営していく上で、何か問題が生じたときには、ログを解析する作業が必要になります。全てのアクセス情報が記録されているため、ログ明細数が何十万行にも渡るケースもありますが、答えにたどり着く一番の近道であることも確かです。

企業内システムの場合だと、システム障害等が起こって機能が停止してしまった場合は、いち早く復旧するために努めるのはもちろんなのですが、システム管理者は再発を防止するために、ログを解析し根本的な原因を求めることも重要な任務となります。

さて、今回は Apache の Web サーバーにおけるアクセスログの記載内容について説明します。

Web サイト運営者のためのアクセスログ解析

Web アプリ開発者であれば、最低限のログ記載事項は把握していると思うので、今回は ロリポップ!エックスサーバー 等のレンタルサーバー で Web サイトを運営している人向けの説明に重点を置きますので、その点ご了承ください。なお、ログ内容部分については、一般的な Web アプリの解析と同等となりますので、そちらは参照いただけると思います。

レンタルサーバーのアクセスログ取得方法

レンタルサーバーを借りている場合は、以下の手順によりアクセスログを取得することができます。

◆ ロリポップレンタルサーバーの場合

  1. ユーザー専用ページへアクセスしログイン
  2. メニュー [Webツール] → [アクセスログ] を選択
  3. ログを取得する対象のアドレスを選択し、アクセスログページへ移動
  4. アクセス解析画面が表示されるので、画面一番下にある「生ログファイル ダウンロード」からログファイルをダウンロードする

◆ エックスサーバーの場合

  1. サーバーパネルへログインする
  2. メニュー「統計」の [ログファイル] を選択
  3. ログを取得する対象のドメインを選択
  4. 選択したドメインに対する対象のサイトを選び、ログファイルをダウンロードする

※ その他のレンタルサーバーについては、各運営会社のサポートページよりアクセスログの取得方法を参照ください。

Apache の Web サーバー アクセスログ内容

実際にログを直接参照すると、Google Analitics のような統計解析ツールでは分からない情報まできちんと識別し判断することができます。さて、ではアクセスログのサンプルをご覧ください。

192.168.11.3 - - [09/Sep/2015:01:47:22 +0900] "GET /good-taste-nashi-sui/ HTTP/1.1" 200 7974 "http://nj-clucker.com/tanbo-art-2015-star-wars/" "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36"

ダブルクォーテーションで括られている部分は 1つの出力項目として、項目間のセパレーターに半角スペースが用いられています。2項目目、3項目目はハイフンが出力されていますが、これもきちんと意味があります。それでは1つずつ分解してみましょう。

アクセスログ項目別の説明

出力項目サンプル例
出力内容
IPアドレス192.168.11.3
アクセス元の IPアドレスです。このアドレスによりどこからアクセスされたか識別できます。IPアドレスによるアクセス拒否を行う場合は、この情報を元に設定を行います。
クライアントユーザ名
未設定の場合「-」が出力されます。一般的な Web サイトへのアクセスの場合、未設定となるケースが多いです。 IDENT プロトコルを利用し、メール送信時によく利用される項目です。
認証ユーザ名
認証されたユーザ名を出力します。未設定の場合「-」が出力されます。
アクセス時刻[09/Sep/2015:01:47:22 +0900]
Web サーバーへアクセスした日時の情報です。後ろの「+0900」はタイムゾーンを表します。日本の場合は +9:00 なので、このように表現されます。
リソース"GET /good-taste-nashi-sui/ HTTP/1.1"
どのリソースに、どのプロトコルで、どのようなアクションをしたかを表します。アクセス先の情報「/good-taste-nashi-sui/」を表示する場合、ドメイン情報は出力されません。このログでは、HTTP 1.1 で以下のページを表示するために、情報を取得しにきたと判定できます。
エルビーの「なし水」が好きすぎて牛乳と混ぜてみたら激ウマだった
ステータス200
200 は正常終了を表します。有名なコードでは、404 の Not Foud や 500 の Internal Server Error が挙げられます。Web サイト運営者であれば、リダイレクトを示す 301 や 302 もご存知かもしれません。どれも同じ仲間です。
転送量7974
アクセスしたリソースに対する転送量です。単位は byte となります。
リファラ"http://nj-clucker.com/tanbo-art-2015-star-wars/"
アクセス元の URL を表します。このログから、以下のページから遷移してきたことが分かります。
青森県田舎館村の田んぼアートを見たらB級グルメの黒石つゆ焼きそばも食べよう!
ユーザエージェント"Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36"
どの OS から、どのブラウザでアクセスしたかを表します。Windows NT 6.0 と出力されているので、Windows Vista もしくは Windows Server 2008 からのアクセスとなります。またブラウザは Chrome からのアクセスであると分かります。検索エンジンの bot からアクセスがあった場合は「Googlebot」のようにエージェント情報に出力されます。

アクセスログの構成が分かれば、あとは様々な角度から解析が行えるようになります。まずはこの基本情報をきちんと把握することが大切です。今回紹介したログのフォーマットは基本的なフォーマットであるため、環境によってはログの設定により異なるケースがありますので、ご了承ください。

2017/01/22

個人事業主の開業届と青色申告の申請書を税務署へ提出!持ち物はマイナンバーカードを忘れずに!

2017/01/21

Chrome に表示された「保護された通信」「保護されない通信」とは?保護されないのは危険なのか?

2017/01/21

Word ファイルから画質を落とさず画像を取り出す方法

2017/01/20

Windows 10 でアプリをアンインストール(削除)する方法

2017/01/20

Windows 10 でデスクトップにマイコンピューターやコントロールパネルを表示する方法

2017/01/20

ファイアーエムブレムヒーローズのダウンロード方法とインストール手順【初期設定】

2017/01/17

青色申告の申請書「所得税の青色申告承認申請書」の書き方!例にならって入力すれば簡単に作成できる

2017/01/16

個人事業の開業届の書き方!例にならって入力すれば簡単に作成できる

2017/01/14

Nintendo Switch のコントローラーの充電方法は?標準の Joy-Con グリップでは充電できないので注意!

2017/01/14

Nintendo Switch の本体容量は 32GB しかない!容量追加はマイクロSDカードを利用する

→もっと見る

Name :
気力/体力勝負なシステム業界で揉まれています。自分が自分らしくあるために、大事なリセット、スタートします。

プロフィール詳細 Twitter @_NJ69_
Facebook ページ nj-clucker.com シェア
このブログが役に立ったら
「いいね!」お願いします
PAGE TOP ↑