Apache のログフォーマットおよびディレクトリは、/etc/apache2/httpd.conf設定ファイルに指定します。
ログフォーマット
Apache ログの設定ファイルには、出力フォーマットがデフォルトで 2 つ定義されています (結合フォーマットおよび一般フォーマット)。なお、必要に応じてログの出力フォーマットをカスタマイズすることもできます。
- 結合フォーマット
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
- 一般フォーマット
LogFormat "%h %l %u %t \"%r\" %>s %b"
- カスタム化フォーマット
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D %f %k %p %q %R %T %I %O" customized
Apache のログ設定ファイルに、ログの出力フォーマット、ファイルパス、およびログ名を指定する必要があります。たとえば、次のログ設定ファイルは、結合フォーマットを出力するように指定されており、ログのパスおよび名前は、/var/log/apache2/access_log
です。
CustomLog "/var/log/apache2/access_log" combined
フィールドの説明
フォーマット | キー名 | 説明 |
%a | client_addr | クライアント IP アドレス |
%A | local_addr | ローカルプライベート IP アドレス |
%b | response_size_bytes | レスポンスのサイズ (バイト)。空の場合は、ハイフン (-) となります。 |
%B | response_bytes | レスポンスのサイズ (バイト)。空の場合は、ハイフン (-) となります。 |
%D | request_time_msec | リクエストの時間 (マイクロ秒単位) |
%h | remote_addr | リモートホスト名 |
%H | request_protocol_supple | リクエストプロトコル |
%l | remote_ident | identd のクライアント側のログ名 |
%m | request_method_supple | リクエストメソッド |
%p | remote_port | サーバーのポート |
%P | child_process | 子プロセス ID |
%q | request_query | クエリ文字列。クエリ文字列が存在しない場合は、このフィールドが空文字列となります。 |
"%r" | request | メソッド名、IP アドレス、および http プロトコルを含むリクエストのコンテンツ |
%s | status | HTTP ステータスコード |
%>s | status | 最終の HTTP ステータスコード |
%f | filename | ファイル名 |
%k | keep_alive | keep alive リクエストの数 |
%R | response_handler | サーバーのハンドラ |
%t | time_local | サーバー時間 |
%T | request_time_sec | リクエストの時間 (秒単位) |
%u | remote_user | クライアントのユーザー名 |
%U | request_uri_supple | リクエストした URL のパス (クエリを含まない) |
%v | server_name | サーバー名 |
%V | server_name_canonical | UseCanonicalName 設定に従ったサーバー名 |
%I | bytes_received | サーバーの受信バイト数 (mod_logio モジュールが有効な場合のみ) |
%O | bytes_sent | サーバーの送信バイト数 (mod_logio モジュールが有効な場合のみ) |
%{User-Agent}i | http_user_agent | クライアント情報 |
"%{Rererer}i" | http_referer | ソースページ |
サンプルログ
192.168.1.2 - - [02/Feb/2016:17:44:13 +0800] "GET /favicon.ico HTTP/1.1" 404 209 "http://localhost/x1.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36"
Logtail を使用した Apache ログの収集
- Logstoreページで、データインポートウィザードアイコンをクリックします。
- データタイプを選択します。
APACHE アクセスログを選択します。
- データソースを設定します。
- 構成名およびログパスを入力します。
- ログフォーマットを選択します。
- ログフォーマットをカスタマイズする場合は、APACHE のログフォーマット構成に入力します。
Apache 標準の設定ファイルのログフォーマット設定欄に入力します。通常、設定ファイルは「LogFormat」で始まります。注 ログフォーマットドロップダウンリストより一般または結合を選択した場合には、APACHE のログフォーマット設定欄に該当するログフォーマットが自動的に入力されます。入力された内容が、ローカルの Apache 設定ファイルに定義されているフォーマットと同じであることを確認します。
- APACHE キー名を確認します。
Log Service によって、お客様の Apache キーが自動的に読み込まれます。現在のページの APACHE キー名を確認します。
- (オプション)詳細オプションを設定します。
構成項目 詳細 ローカルキャッシュ ローカルキャッシュを有効にするかどうかを選択します。 この機能を有効にすると、ログサービスが利用できないときにログがマシンのローカルディレクトリにキャッシュされ、サービスの復旧後にログサービスに引き続き送信されます。 デフォルトでは、最大で1GBのログをキャッシュできます。 オリジナルログのアップロード オリジナルログをアップロードするかどうかを選択します。有効にすると、デフォルトで新しいフィールドが追加され、オリジナルログがアップロードされます。 トピック生成モード - Null - トピックを生成しない:デフォルトオプションであり、トピックをヌル文字列として設定し、トピックを入力せずにログを照会できることを示します。
- マシングループのトピック属性:異なるフロントエンドサーバーで生成されたログデータを明確に区別するために使用されます。
- ファイルパスレギュラー:このオプションを選択すると、正規表現を使用してパスからコンテンツをトピックとして抽出するには、カスタム正規表現を入力する必要があります。 ユーザーとインスタンスによって生成されたログデータを区別するために使用されます。 ユーザーとインスタンスによって生成されたログデータを区別するために使用されます。
カスタム正規表現 トピック生成モードとしてファイルパスレギュラーを選択すると、カスタム正規表現を入力する必要があります。 ログファイルエンコーディング - utf8: UTF-8エンコーディングを使用。
- gbk: GBKエンコーディングを使用
最大モニターディレクトリの深さ ログソースからログを収集するときに監視するディレクトリの最大深度を指定します。要するに、最大でモニターできるログレベルを指定します。 範囲は0~1000で、0を指定した場合は、現行ディレクトリレベルのみをモニターすることになります。 タイムアウト 指定された時間内に更新がない場合、ログファイルはタイムアウトします。 タイムアウトの次の設定を構成できます。 - タイムアウトにならない:すべてのログファイルを永続的にモニターし、ログファイルがタイムアウトしないように指定します。
- 30分のタイムアウト:ログファイルが30分以内に更新がないければタイムアウトになり、モニターされなくなります。
フィルター構成 フィルター条件に完全に準拠したログのみ、収集できます。 たとえば:- 条件に一致するログを収集します:Key: level Regex:WARNING|ERRORは、レベルがWARNINGまたはERRORのログのみを収集することを示します。
- 条件に適合しないログをフィルターします:
Key:level Regex:^(?!. *(INFO|DEBUG))
、INFOまたはDEBUGレベルのログを収集しないことを示します。Key:url Regex:. *^(?!.*(healthcheck)). *
、urlにヘルスチェックを含むログをフィルターすることを示します。 keyがurlでvalueが/inner/healthcheck/jiankong.html
のログなどは収集されません。
- 次へをクリックします。
- マシングループを選択し、マシングループに適用をクリックします。
マシングループをまだ作成していない場合は、マシングループの作成をクリックしてマシングループを作成します。
Logtail 設定をマシングループに適用すると、Log Service は設定に従って Apache ログを収集します。データインポートウィザードの手順に従って、インデックスおよびログ送信を設定します。