【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

【Apache】アクセスログの見方をやさしく解説!※ 2025年2月更新

こんにちは!
株式会社ビヨンド四国オフィスのペルシャ猫、いのうえです。

インフラエンジニアとして働く私が、日々障害対応していくなかで頻繁に見るアクセスログ。
今回はそのApacheのアクセスログの見方をやさしく解説していこうと思います。

※Apacheとよく比較される、Nginxのアクセスログの見方についてはコチラ

アクセスログってなんだ?

アクセスログとは、サーバーへ接続した履歴です。日付や時間、アクセス元のIPアドレスやリクエストされたページ、使用されたブラウザやデバイスなどの情報が記録されています。

私たちインフラエンジニアがアクセスログを利用している一例として、アラート対応が挙げられます。

アラートが出ているサーバーのアクセスログを見て、平常時と比べてアクセス数が増減しているかを確認します。アクセス数が急増していればサーバーに大きな負荷がかかっていることになります。

またアクセスされているページを確認して、本当にがページ存在しているかを確認することもあります。

Apache のアクセスログを見てみよう!

1
2
[root@test-aws-harukainoue httpd]# tail access_log
xxx.xx.xx.xxx - - [11/Dec/2019:12:01:22 +0000] "GET / HTTP/1.0" 200 35 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3602.2 Safari/537.36"

※ 実行結果から一部抜粋しております。

なんだか、よくわからない英数字や記号がズラズラと並んでいます。

アクセスログを解析しよう!

Apache の設定ファイルは、デフォルトだと「/etc/httpd/conf/httpd.conf」に書かれています。
「/etc/httpd/conf/httpd.conf」ファイルの中を見ると

1
2
LogFormat "%h %l %u %t \"%r\" %t %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog "logs/access_log" combined

と書かれており、combined というフォーマットがデフォルト設定されていることが分かります。
ログは、このフォーマットに添って表示される仕組みになっています。

フォーマット文字列 フォーマットの意味 アクセスログの値 備考
%h リモートホストのIPアドレス xxx.xx.xx.xxx
%l 接続元のユーザー名 ‐(未設定) ここは、だいたいの場合 - になっていることが多いですが
mod_ident がサーバに存在して、 IdentityCheck ディレクティブが On に設定されていると値が出力されます。
%u リモートユーザー ‐(未設定)
%t アクセスされた日時 2019/11/11 12:01
\"%r\" アクセスされたファイル ・アクション = GET

・HTTP = プロトコル

・リソース = 1.0

※ バックスラッシュは、「\」で表示されています。
%>s ステータスコード 200(正常)
%b リソースに対する点送量 35バイト
\"%{Referer}i\" アクセス元のURL ‐(未設定) どこかのサイトを経由して来たのか、
URL から直接アクセスしたのかが出力されます。
\"%{User-Agent}i\" なんの OS でどのブラウザからアクセスしてきたか Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3602.2 Safari/537.36 ・OS = Linux

・ブラウザ = Chrome

ステータスコードの意味についてちょっと知ってみる

ステータスコードとは、WebサーバーとWebブラウザが、お互いの状態をやり取りするために数字(コード)で表したもの

200 = リクエスト成功
301 = リクエストしたページが別のぺーじに移動している
302 = 一時的に別のページに移動中
403 = リクエストしたページを表示する権限なし
404 = リクエストしたページが存在しない
500 = サーバ側でエラー発生

まとめ

アクセスログを見ることができたら、インフラエンジニア力はグンと上がるはず!

日々、アラート対応していく中で、Webサーバーで急激に負荷が上がった際は、必ずアクセスログを見ます。
攻撃的なアクセスがあったかどうかも、アクセスログを確認するとわかります。
私も、目を血眼にしてアクセスログを見ています!(`・ω・´)
今回ブログに記したことで、私の理解度も深まりました。

今後もトライアンドエラーとやらを繰り返し、
お気に入りのコマンドや、個人的にもっと理解を深めたいことに関してブログを書いていきます。

また、今回はApacheのアクセスログの見方を解説しましたが、他のメンバーがnginxのアクセスログの見方についてもブログを書いてくれたので、こちらも併せてご覧ください!

日々成長、日々前進。
毎日、私自身をアップデートしていかなければ!!!
最後まで読んでくださって、ありがとうございます。

クラウド / サーバー運用監視サービス(24時間365日)はコチラ ▼ 

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
16
読み込み中...
16 票, 平均: 1.00 / 116
244,206
X facebook はてなブックマーク pocket
【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

この記事をかいた人

About the author

井上明香

システムソリューション部に所属。
ビヨンドに四国オフィス設立メンバーとして入社。IT業界に未経験で飛び込みました。
教育チームとして、新卒、中途、既存メンバーのカリキュラムの作成や研修の実施を行っています。
主な業務は、サーバーの運用保守。
とにかく、お客様のコンテンツを大切に思っています。
Webコンテンツ事業部、YouTubeチームにも所属。