はじめに
Apacheは、Linux(Linux、Apache、MySQL、PHP)用のソフトウェアのLAMPスタックの一部です。 Apacheは、あなたのWebサイトを見ている人々にWebページを提供する責任があります。
サーバーはWebサイトへのアクセスを許可し、アクセスログを保持します。これらのレコードまたはログファイルは、Webサイト、使用状況、およびオーディエンスに関する貴重な情報源になる可能性があります。
このチュートリアルでは、Apacheアクセスログファイルを表示する方法を学習します。 。
前提条件
- ApacheWebサービスを実行しているLinuxシステム
- root(sudo)アクセス権を持つユーザーアカウント
- ターミナルウィンドウ(UbuntuではCtrl-Alt-T、CentOSではAlt-F2)
Apacheアクセスログの表示
cPanelを使用してRawAccessファイルをダウンロードする
cPanelを使用してWebサーバーにログインしている場合は、Apacheアクセスログをダウンロードできます。 グラフィカルインターフェイスを介して。
1.メトリクスというラベルの付いたセクションを探します 。
2.生のアクセスをクリックします 。アーカイブが有効になっている場合は、ページの下部に生のApacheログファイルをダウンロードできます。それらは、管理しているWebサイト用にラベル付けされた標準のハイパーリンクのように見えます。
ハイパーリンクをクリックすると、ファイルを保存または開くように求められます。これらのログファイルは、 gzipを使用して圧縮されます したがって、Linuxシステムを使用していない場合は、解凍ツールが必要になる場合があります。ファイルをお好みの場所に保存します。
3. OSでファイルを見つけ、右クリック>抽出します。 新しいファイルは、.gz拡張子なしで表示されます。
4.右クリック>編集 お気に入りのテキストエディタでファイルを開いてコンテンツを表示します。
ターミナルコマンドを使用したローカルアクセスログの表示
Apacheをホストするマシンで作業している場合、またはそのマシンにリモートでログインしている場合は、ターミナルを使用してアクセスログの内容を表示およびフィルタリングできます。
デフォルトでは、Apacheアクセスログファイルは次のパスにあります。
- /var/log/apache/access.log
- /var/log/apache2/access.log
- / etc / httpd / logs / access_log
GUIまたは端末をcd
で使用します システムをナビゲートして、ログが保存されている場所を見つけるコマンド。
ステップ1:アクセスログの最後の100エントリを表示する
ターミナルウィンドウで、次のように入力します。
sudo tail -100 /var/log/apache2/access.log
tail
コマンドは、ファイルの最後の部分と -100
を読み取るようにマシンに指示します コマンドは、前の100エントリを表示するように指示します。
最後の部分、 /var/log/apache2/access.log ログファイルを探す場所をマシンに指示します。ログファイルが別の場所にある場合は、マシンのパスをApacheログファイルに置き換えてください。
ステップ2:アクセスログから特定の用語を表示する
場合によっては、特定のタイプのエントリのみをログに表示したいことがあります。 grep
を使用できます 特定のキーワードでレポートをフィルタリングするコマンド。
たとえば、端末に次のように入力します。
sudo grep GET /var/log/apache2/access.log
前のコマンドと同様に、これは/var/log/apache2/access.logを調べます。 アクセスログの内容を表示するファイル。 grep
コマンドは、 GET
のエントリのみを表示するようにマシンに指示します リクエスト。
他のApacheコマンドに置き換えることもできます。たとえば、.jpg画像へのアクセスを監視する場合は、 .jpgに置き換えることができます。 GET
の場合 。以前と同様に、サーバーのログファイルへの実際のパスを使用します。
Apacheエラーログを表示する方法
アクセスログに加えて 、前述のターミナルコマンドを使用して、エラーログを表示できます。 。
ターミナルで次のコマンドを入力します:
sudo tail -100 /var/log/apache2/error.log
アクセスログファイルが別の場所にある場合、エラーログファイルは同じ場所にあります。正しいパスを入力してください。
Apacheでのアクセスログの解釈
アクセスログファイルを初めて開くと、圧倒されるかもしれません。
HTTPリクエストに関する情報はたくさんあり、一部のテキストエディタ(および端末)はテキストを次の行に折り返します。これにより、読みにくくなる可能性がありますが、各情報は特定の順序で表示されます。
アクセスログファイルの形式を表現するための従来の方法は次のとおりです。
"%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i""
これは、ログの各行で最も一般的なもののコードです。
各%記号 ログ内の情報に対応します:
-
%h
–クライアントのIPアドレス(アクセス要求の送信元)。 -
%l
–この次のエントリは、単にハイフンである可能性があります — これは、情報が取得されなかったことを意味します。これは、identd
をチェックした結果です。 クライアントで。 -
%u
–クライアントのuserid
、アクセス要求にhttp認証が必要な場合。 -
%t
–着信要求のタイムスタンプ。 -
%r
–使用された要求行。これにより、httpメソッド(GET、POST、HEADなど)、要求されたものへのパス、および使用されているhttpプロトコルがわかります。 -
%>s
–サーバーからクライアントに返されたステータスコード。 -
%b
–要求されたリソースのサイズ。 -
"%{Referer}i"
–これは、アクセスが別のWebサイトのリンクをクリックしたことによるものか、クライアントがあなたのページを参照した他の方法によるものかを示します。 -
"%{User-agent}i"
– Webブラウザー、オペレーティングシステム、Webサイトソース(ロボットの場合)など、リクエストを行っているエンティティに関する情報を提供します。
ログファイルの行全体を読むだけで、各エントリを上記のようにデコードできます。情報がない場合、ログにはハイフンが表示されます。事前設定されたサーバーで作業している場合、ログファイルには多かれ少なかれ情報が含まれている可能性があります。カスタムログモジュールを使用して、カスタムログ形式を作成することもできます。
ログ形式のデコードの詳細については、このページを参照してください。
Apacheログファイルでデータを使用する方法
Apacheログ分析 クライアントがあなたのウェブサイトと対話する方法を測定する機会を与えてくれます。
たとえば、タイムスタンプを調べて、トラフィックパターンを測定するために、1時間あたりに到着するアクセス要求の数を把握できます。ユーザーエージェントを調べて、特定のユーザーがデータベースにアクセスしたりコンテンツを作成したりするためにWebサイトにログインしているかどうかを確認できます。失敗した認証を追跡して、システムに対するさまざまな種類のサイバーセキュリティ攻撃を監視することもできます。
apacheエラーログ 同様に使用することができます。多くの場合、これは単に404エラーがいくつ生成されているかを確認するために使用されます。クライアントが不足しているリソースを要求すると404エラーが発生します。これにより、リンク切れやページ内の他のエラーが警告される場合があります。ただし、構成の不具合や潜在的なサーバーの問題に関する警告を見つけるためにも使用できます。