apacheのログをプレイします.
5188 ワード
本論の出典 http://www.zhangyiqun.cn/26.html
原作者:張逸群Mail:[email protected]
ことばを引く
Webサーバを効果的に管理するには、サーバの状態、性能、問題点などを把握しなければならない.Apacheは非常に包括的で柔軟なログ記録機能を提供しています.ここでは、ファイルの設定方法とログの内容の理解方法を説明します.
1.より詳細なログをcommbinedで取得する
httpd.com nfファイルを編集し(以下はほとんどこのファイルを変更します)、CustoomLog Custoom Log logs/access_を検索します.log commbinedはこのフォーマットを使って損をすることはありません.また、追加の情報を得ることができます.
2.エラーメッセージをより全面的にする
loglevelを定義することにより、検索ログレベルを実現します.
ログレベルは以下の通りです.(debugで発生する情報が一番多いです.emargで発生する情報が一番少ないです.)
レベル
説明
例
emarg
緊急(システムが使えません)
「Child cannot open lock file.Exiting」
alert
ただちに措置をとらなければならない.
「getpwuid:couldn’t determine user name from uid」
crit
致命的な状況
「socket:Failed to get a socket、exiting child」
error
エラー状況
「Premature end of script headers」
warn
警告状況
「child process 1234 did not exit、sending another SIGHUP」
notice
一般的に重要な状況
「httpd:caugt SIGBUS,atempting to dump core in…」
info
一般情報
「Server seems busy,(you may need to increase StartServers,or Min/MaxSpare Servers)…」
debug
デバッグ情報
「Opening config file…」
3.POSTで送信したデータを記録する
mod_を使うsecutiryは、以下のようにSecAudit LogType Conccurrent SecAudit LogStrageDir/var/www/audit_を配置します.log/data/SecAudit Log/var/www/audiit_log/index SecAudit LogPartABCFHZ注:post方式とget方式1、post方式でデータを伝送する場合、URLに表示する必要はなく、get方式はURLに表示する(安全性ではない).GET方式でしか送信できないデータは最大1024バイトしかありません.3、postは名前の通りサーバー端にデータを転送するためにGetはサーバーからデータを取得するためです.Getもデータを転送することができるのは、サーバーに伝えるためだけです.どのようなデータが必要ですか?postの情報はhttp要求の内容として、GetはHttpヘッダで送信します.私達のフォームのmethodの方法、post、get.はページで値を伝える時の違いつまり上に述べた3点です.
4.クッキーの記録
クライアントから受信したクッキーを記録します.
Custoom Log logs/cookies_n.log「%{UNIQUEUITO}e%{Cookie}i」Custoom Log logs/cookies 2_n.log「%{UNIQUEUID}e%{Cookie 2}i」
サーバから送信されたクッキーを記録します.
Custoom Log logs/cookies_out.logs「%{UNIQUEUID}e%{Set-Cookie}o」Custoom Log logs/cookies 2_out.log「%{UNIQUEユニットID}e%{Set-Cookie 2}o」注:本方法はすべてのクッキーを記録していますが、どうやって区別するかは問題です.実験の時だけ使って、実際に環境を作るのは多くないです.クッキーとSet-cookieヘッダフィールドは最も一般的である.cookie 2はset-cookieに対応するフィールドと比較して新しいです.
5.自局からの要求を無視する
盗撮チェーンを追跡する時に役立ちます.サフィックスを定義するSet EnvIfNoCase Referer"^http://www.example.com/あなたのウェブサイトのlocalreferrer=1
Custoom Log logs/access_log commbined env=local_referrer
注:SetEnvIfNoCaseはSetEnvIfと同じですが、前者は大きさを無視して書きます.
6.時間別生産ログ
N時間間隔でログを作成する必要があります.
CustoomLog「_;/path/to/rotatelogs/path/to/logs/accessog.%Y-%m-d 86400」combined
注:CustoomLogとrotatelogsを使っています.間隔時間は秒で制御します.
7.毎月の初日にログファイルを更新する
毎月の初日に先月のログファイルを終了し、同時に新しいレコードを開始します.
8.仮想ホストのために各自のログを作成する
まず、仮想ホストの情報をログに入れる必要があります.
LogFormat"%v%h%l%u/"%r/"%s%b"vhost Custom Log logs/multiple_vhost_log vhost
これはログの普通のフォーマットでログファイルを作成します.ただし、各記録の前に正式な仮想ホスト名を追加します.ログファイルを分離します.仮想ホストごとにログファイルがあります.
split-logfile注:split-logfileは自動的にインストールされているのではなく、配置過程後に「support」ディレクトリの付表に装着されています.
9.応答要求のipアドレスを記録する
サーバーに複数のipがある場合、どのipが要求に応答しているかを知りたいです.
Custoom Log logs/served-by.log"%A"
10.訪問者のソースを記録する
彼を知っています.訪問者はどのサイトから来たのか分かります.
%{Referer}i
注:デフォルトはすでにロゴフォーマットに含まれています.
11.訪問者が使うブラウザを記録する
%{User-Agent}i
注:デフォルトはすでにロゴフォーマットに含まれています.
12.sylogを使ってapacheログを記録する
第1ステップ:sylog/etc/sylog.com nfを設定するのはsylogの設定ファイルです.中の各行は一つ以上のスペースまたはTABで区切られています.例えば、メール・info/var/log/mallo/malloとは、ログオブジェクトmailのinfoレベルと以上のレベルのログをここに記録するという意味です.この位置はファイル(例えば/var/log/malling)であってもよく、あるTTY(例えば/dev/キティ1)であってもいいです.ログインしたユーザのコンソールであってもいいです. (ユーザー名janのように)現在のすべての下でログインしているユーザがいるコンソール(すべてのユーザを*号で表しています)でも良いです.リモートホスト(@remoteuhostuuip)は現在この行に参加しています.
local 0.info/var/log/apache.log
そしてsylogを再起動します.service syslogretart第二ステップはapphe構成に追加されます.
CustoomLog「|logger-t apache-p local 0.info」cobined
追加
HTTP状態コード
コーディング
説明
Informational 1 xx
100
Continue
101
Switch ing protocols
Success ful 2 xx
200
OK
201
Created
202
Acceepted
203
Nonauthoritative information
204
No content
205
Reset content
206
Partal content
Redirection 3 xx
300
Multile checes
301
Moved permantly
302
Found
303
See other
304
Not modified
305
Use proxy
306
(Unused)
307
Temporary redirect
Client error 4 xx
400
Bad request
401
Uauthorized
402
Payment required
403
Forbidden
404
Not found
405
Method not allowed
406
Not acceptable
407
Proxy authentication required
408
Request timeout
409
Conflick
410
Gone
411
Length required
412
Procondition failed
413
Request entity too large
414
Request-URI too long
415
Usupported media type
416
Requested range not satis fiable
417
Expectation failed
Server error 5 xx
500
Internal server error
501
Not implemented
502
Bad gateway
503
Service unavailable
504
Gateway timeout
505
HTTP version not supported
原作者:張逸群Mail:[email protected]
ことばを引く
Webサーバを効果的に管理するには、サーバの状態、性能、問題点などを把握しなければならない.Apacheは非常に包括的で柔軟なログ記録機能を提供しています.ここでは、ファイルの設定方法とログの内容の理解方法を説明します.
1.より詳細なログをcommbinedで取得する
httpd.com nfファイルを編集し(以下はほとんどこのファイルを変更します)、CustoomLog Custoom Log logs/access_を検索します.log commbinedはこのフォーマットを使って損をすることはありません.また、追加の情報を得ることができます.
2.エラーメッセージをより全面的にする
loglevelを定義することにより、検索ログレベルを実現します.
ログレベルは以下の通りです.(debugで発生する情報が一番多いです.emargで発生する情報が一番少ないです.)
レベル
説明
例
emarg
緊急(システムが使えません)
「Child cannot open lock file.Exiting」
alert
ただちに措置をとらなければならない.
「getpwuid:couldn’t determine user name from uid」
crit
致命的な状況
「socket:Failed to get a socket、exiting child」
error
エラー状況
「Premature end of script headers」
warn
警告状況
「child process 1234 did not exit、sending another SIGHUP」
notice
一般的に重要な状況
「httpd:caugt SIGBUS,atempting to dump core in…」
info
一般情報
「Server seems busy,(you may need to increase StartServers,or Min/MaxSpare Servers)…」
debug
デバッグ情報
「Opening config file…」
3.POSTで送信したデータを記録する
mod_を使うsecutiryは、以下のようにSecAudit LogType Conccurrent SecAudit LogStrageDir/var/www/audit_を配置します.log/data/SecAudit Log/var/www/audiit_log/index SecAudit LogPartABCFHZ注:post方式とget方式1、post方式でデータを伝送する場合、URLに表示する必要はなく、get方式はURLに表示する(安全性ではない).GET方式でしか送信できないデータは最大1024バイトしかありません.3、postは名前の通りサーバー端にデータを転送するためにGetはサーバーからデータを取得するためです.Getもデータを転送することができるのは、サーバーに伝えるためだけです.どのようなデータが必要ですか?postの情報はhttp要求の内容として、GetはHttpヘッダで送信します.私達のフォームのmethodの方法、post、get.はページで値を伝える時の違いつまり上に述べた3点です.
4.クッキーの記録
クライアントから受信したクッキーを記録します.
Custoom Log logs/cookies_n.log「%{UNIQUEUITO}e%{Cookie}i」Custoom Log logs/cookies 2_n.log「%{UNIQUEUID}e%{Cookie 2}i」
サーバから送信されたクッキーを記録します.
Custoom Log logs/cookies_out.logs「%{UNIQUEUID}e%{Set-Cookie}o」Custoom Log logs/cookies 2_out.log「%{UNIQUEユニットID}e%{Set-Cookie 2}o」注:本方法はすべてのクッキーを記録していますが、どうやって区別するかは問題です.実験の時だけ使って、実際に環境を作るのは多くないです.クッキーとSet-cookieヘッダフィールドは最も一般的である.cookie 2はset-cookieに対応するフィールドと比較して新しいです.
5.自局からの要求を無視する
盗撮チェーンを追跡する時に役立ちます.サフィックスを定義するSet EnvIfNoCase Referer"^http://www.example.com/あなたのウェブサイトのlocalreferrer=1
Custoom Log logs/access_log commbined env=local_referrer
注:SetEnvIfNoCaseはSetEnvIfと同じですが、前者は大きさを無視して書きます.
6.時間別生産ログ
N時間間隔でログを作成する必要があります.
CustoomLog「_;/path/to/rotatelogs/path/to/logs/accessog.%Y-%m-d 86400」combined
注:CustoomLogとrotatelogsを使っています.間隔時間は秒で制御します.
7.毎月の初日にログファイルを更新する
毎月の初日に先月のログファイルを終了し、同時に新しいレコードを開始します.
CustomLog "|/usr/bin/cronolog /www/logs/access%Y%m.log" combined
注:cronologを使う必要があります.とても使いやすいツールです.住所をダウンロードしてgoogleに教えてください.8.仮想ホストのために各自のログを作成する
まず、仮想ホストの情報をログに入れる必要があります.
LogFormat"%v%h%l%u/"%r/"%s%b"vhost Custom Log logs/multiple_vhost_log vhost
これはログの普通のフォーマットでログファイルを作成します.ただし、各記録の前に正式な仮想ホスト名を追加します.ログファイルを分離します.仮想ホストごとにログファイルがあります.
split-logfile注:split-logfileは自動的にインストールされているのではなく、配置過程後に「support」ディレクトリの付表に装着されています.
9.応答要求のipアドレスを記録する
サーバーに複数のipがある場合、どのipが要求に応答しているかを知りたいです.
Custoom Log logs/served-by.log"%A"
10.訪問者のソースを記録する
彼を知っています.訪問者はどのサイトから来たのか分かります.
%{Referer}i
注:デフォルトはすでにロゴフォーマットに含まれています.
11.訪問者が使うブラウザを記録する
%{User-Agent}i
注:デフォルトはすでにロゴフォーマットに含まれています.
12.sylogを使ってapacheログを記録する
第1ステップ:sylog/etc/sylog.com nfを設定するのはsylogの設定ファイルです.中の各行は一つ以上のスペースまたはTABで区切られています.例えば、メール・info/var/log/mallo/malloとは、ログオブジェクトmailのinfoレベルと以上のレベルのログをここに記録するという意味です.この位置はファイル(例えば/var/log/malling)であってもよく、あるTTY(例えば/dev/キティ1)であってもいいです.ログインしたユーザのコンソールであってもいいです. (ユーザー名janのように)現在のすべての下でログインしているユーザがいるコンソール(すべてのユーザを*号で表しています)でも良いです.リモートホスト(@remoteuhostuuip)は現在この行に参加しています.
local 0.info/var/log/apache.log
そしてsylogを再起動します.service syslogretart第二ステップはapphe構成に追加されます.
CustoomLog「|logger-t apache-p local 0.info」cobined
追加
HTTP状態コード
コーディング
説明
Informational 1 xx
100
Continue
101
Switch ing protocols
Success ful 2 xx
200
OK
201
Created
202
Acceepted
203
Nonauthoritative information
204
No content
205
Reset content
206
Partal content
Redirection 3 xx
300
Multile checes
301
Moved permantly
302
Found
303
See other
304
Not modified
305
Use proxy
306
(Unused)
307
Temporary redirect
Client error 4 xx
400
Bad request
401
Uauthorized
402
Payment required
403
Forbidden
404
Not found
405
Method not allowed
406
Not acceptable
407
Proxy authentication required
408
Request timeout
409
Conflick
410
Gone
411
Length required
412
Procondition failed
413
Request entity too large
414
Request-URI too long
415
Usupported media type
416
Requested range not satis fiable
417
Expectation failed
Server error 5 xx
500
Internal server error
501
Not implemented
502
Bad gateway
503
Service unavailable
504
Gateway timeout
505
HTTP version not supported