開発者やシステム管理者から言われるように、ログファイルはwebアプリケーション内の問題をデバッグするための非常に便利なツールです。 実際には、ログファイルは、通常、webサイトが誤動作しているときに情報の主要なソースとして利用されています。
アプリケーションのデバッグ(または単に訪問者の活動についての洞察を得る)に使用できる特定のログファイルは、Apache HTTPサーバーによって生成されるア, 以下では、これらのログの詳細について説明します:Apacheアクセスログに記録されるもの、それらが見つかる場所、およびファイルに含まれるデータの意味 ログデータの真の力は、分析を通じてデータの意味を理解することから来ているので、私はまた、アクセスログデータから貴重な洞察を得るために(Sumo Logicなどの)ログ管理および分析プラットフォームと協力することの利点について説明します。
Apacheアクセスログとは何ですか?,
上記のように、ApacheアクセスログはApache HTTPサーバーによって生成されるいくつかのログファイルの一つです。 この特定のログファイルは、Apacheサーバによって処理されたすべての要求のデータを記録します。 なので個別訪問でウェブページのサイトにアクセスログファイルが含まれます詳細に関してこのイベントです。, サイト上の特定のページが非常に人気がある場合、アクセスログからのデータを集計すると、一般的に要求されたリソースに光を当てることができ、より関連するコンテンツを提供することによって、企業の人気を高めることができます。,
Apacheアクセスログはどこで見つかりますか?
Apacheアクセスログの場所は、Apache HTTPサーバーが実行されているシステムに依存します。 大多数のApache HTTPサーバのインスタンスを走Linuxディストリビューション. したがって、この記事の目的のために、Linuxマシン上でApacheアクセスログを見つけることができる場所を詳述することに固執します。たとえば、Ubuntu Linuxディストリビューションでは、アクセスログレコードはデフォルトで次の場所に書き込まれます。
/var/log/apache2/access。,log
デフォル 最終的には、アクセスログの場所とフォーマット(詳細は後述)は、Apache HTTPサーバ設定内で表示および変更できるCustomLogディレクティブによって定義されます。
Apacheアクセスログの解釈
Apacheアクセスログが何であり、どこにあるかがわかったので、開発チームや他のIT担当者がそれらをうまく利用できるように、エントリを解釈する方法を説明します。,
Apacheアクセスログの読み取り
Apacheアクセスログを理解するには、アナリストがアクセスログが記録されている形式を理解する必要があります。 上記のように、アクセスログの形式は、場所とともにCustomLogディレクティブで定義されています。 以下では、Apacheアクセスログでよく利用される二つの一般的なログ形式を見ていきます。
共通ログ形式
共通ログ形式は、サーバーログファイルを生成する際にさまざまなwebサーバーで使用される標準化されたテキストファイル形式です。, Apache HTTPサーバーでは、共通のログ形式を使用して、開発者や管理者が読むのに十分簡単なアクセスログを生成できます。 さらに、複数のwebサーバーで使用される標準化された形式であるため、CLF形式のログファイルは、多くのログ分析プラットフォームで簡単に使用できます。
共通ログ形式で書き込まれたアクセスログレコードは次のようになります。
127.0.0.1-Scott”GET/server-status HTTP/1.1″200 2326
上記のサンプルレコードのフィールドは
- 127.0.0を表します。,1-要求を行ったクライアントのIPアドレス;
- ログファイル内の二番目のフィールドを定義するハイフンは、クライアントのidです。 このフィールドはハイフンとして返されることが多く、apacheのドキュメントでは、制御された内部ネットワークの場合を除いて、この特定のフィールドを
- Scott-リソースを要求しているユーザーのユーザーid;
- -要求の日付と時刻;
- “GET/server-status HTTP/1.,1”-要求タイプと要求されているリソース;
- 200-HTTP応答ステータスコード;
- 2326-クライアントに返されるオブジェクトのサイズ。
結合ログ形式
Apacheアクセスログでよく使用される別の形式は、結合ログ形式です。 この形式は、一般的なログ形式と非常によく似ていますが、分析およびデバッグ操作で使用するための詳細情報を提供するためのいくつかの追加フィー, 結合されたログ形式で記録されるアクセスログレコードは次のようになります。
ご覧のとおり、最初の七つのフィールドは共通のログ形式のものと同
“CustomLog”ディレクティブ
先ほど、Apacheアクセスログの設定はApache HTTPサーバ設定ファイル内のCustomLogディレクティブを介して行われることに言及しました。, CustomLogディレクティブによって提供される柔軟性を示すために、アクセスログの設定の例を見てみましょう。
LogFormat”%h%l%u%t\”%r\”%>s%O\”%{Referer}i\”\”%{User-Agent}i\””combined
CustomLog/var/log/apache2/access。log combined
ここでは、LogFormatディレクティブを使用して結合されたログ形式を定義し、それに続いてCustomLogディレクティブを使用してアクセスログの場所と形式(結合)を定義しました。 ご覧のとおり、アクセスログの場所や形式を変更するのは簡単なプロセスです。, さらに、CustomLogディレクティブを使用すると、以下で説明する他のいくつかの機能が得られます。
複数のアクセスログ
Apache HTTPサーバーに複数のアクセスログを設定できないというルールはなく、プロセスは実際にはかなり簡単です。
LogFormat”%h%l%u%t\”%r\”%>s%O\”%{Referer}i\”\”%{user-agent}i\””を組み合わせた
logformat”%{user-agent}i”agent
customlog/var/log/apache2/access。,組み合わせたログ
CustomLog/var/log/apache2/agent_access。ログエージェント
条件付きログ
また、条件付きでアクセスログに書き込むことができます。 これは、特定のクライアントに関連付けられたレコードの除外など、さまざまな理由で役立ちます。 通常、これは環境変数を設定し、”env”句を介してそれらを参照することによって行われます。 詳細については、CustomLogディレクティブの公式文書を参照してください。
ログローテーション&パイプログ
サーバー上の他のものと同様に、ログファイルはスペースを占有します。, 及びは、相対的に忙しいのにApacheサーバのログファイルなどのアクセスログに成長できます。 そのため、たてることが重要であるが主要事業拠点での地元のサプライを定期的に移動または削除古いログファイルです。 幸いなことに、Apache HTTPサーバーは、優雅な再起動とパイプ処理されたログプロセスを使用してこれを行う能力を持っています。
Apacheサーバーの正常な再起動により、クライアント接続を失うことなく再起動できます。, この再起動により、Apacheはクライアントの中断なしに新しいログファイルを開いて書き込むことができ、スペースを節約するために古いログファイルを
一方、パイプ処理されたログプロセスは、サーバを再起動せずにログのローテーションを実行することを可能にすることができます。 るだけでなく、文書ファイルにアクセスログのエントリに書き込み可能パイプを通してこの特定のプログラム。, のrotatelogsプログラムオプションがサポートされました回転ログ条件に基づく時間やサイズです。
Sumo LogicによるApacheアクセスログの分析
ログファイルに大量のデータを収集することは、データを効果的に管理し、簡単に分析できる場合にのみ役 適切に行われると、webサーバー構成またはアプリケーション内で改善の機会を特定するために活用できる貴重な洞察が得られます。, Apacheアクセスログを使用する場合は、Sumo Logicと統合してApacheログファイルを収集することをお勧めします。
開始するためのプロセスは比較的簡単です。 実際には、Apacheアクセスログ用にSumoLogic collectorとローカルファイルソースを設定するだけで、基本的な意味で数分で起動して実行できます。 Sumo Logicをチェックして、ログ管理とデータ分析のプロセスをどのように改善できるかをご覧ください。,
DevSecOpsの完全な可視性
ダウンタイムを削減し、リアクティブモニタリングからプロアクティブモニタリングに移行します。