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

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

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

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

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

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

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

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

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【中国現地企業に対応】中国クラウド / サーバー構築・運用保守

【中国現地企業に対応】中国クラウド / サーバー構築・運用保守

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

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

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

カッコよく言えば MSP の私が日々障害対応していくなかで、頻繁に見ることがあるアクセスログ。
今回は、MSP 必須!!Apacheのアクセスログの見方をやさしく解説していこうと思います。

※nginxのアクセスログの見方はコチラをチェック!

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

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

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

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

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

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

[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」ファイルの中を見ると

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 = サーバ側でエラー発生

まとめ

アクセスログを見ることができたら、MSP 力はグンと上がるはず!

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

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

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

【nginx】アクセスログの見方・設定・場所等を解説

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

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

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

 

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

【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

この記事をかいた人

About the author

井上明香

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