Apache HTTP Server �汾2.2
Ҫ��Ч�ع���Web�����������б�Ҫ�����������Ļ�������Լ����ֵ����⡣Apache HTTP�������ṩ�˷dz�ȫ���������־��¼���ܡ����Ľ�������������ļ��Լ���������־���ݡ�
�κ���ֻҪ��Apache�����־�ļ���Ŀ¼����дȨ�ޣ�Ҳ�͵�Ȼ�ؿ��Ի������Apache���û�(ͨ����root)��Ȩ�ޣ����Բ�Ҫ��������κ��˴����־�ļ�Ŀ¼��дȨ�ޡ�ϸ����μ���ȫ�������ʾ��
���⣬��־�ļ����ܻ����δ��ת���������û�����Ϣ���û����л�����������Ʒ������Դ���ԭʼ��־ʱӦ�õ���������⡣
���ģ�� | ���ָ�� |
---|---|
������־������Ҫ����־�ļ������ļ�����λ��ȡ����ErrorLog
ָ�Apache httpd��������ļ��д�������Ϣ�ʹ��������г��ֵĴ����������ᆳ�������˳���ϸ���Լ���ν������������������������������⣬���Ⱦ�Ӧ�ò鿴���������־��
������־ͨ����д��һ���ļ�(unixϵͳ��һ����error_log
��Windows��OS/2��һ����error.log
)����unixϵͳ�У�������־�����ܱ��ض���syslog
��ͨ���ܵ��������ݸ�һ��������
������־�ĸ�ʽ����������Ը�������������ijЩ��Ϣ������ھ��������¼�У�һ�����͵������ǣ�
[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1]
client denied by server configuration:
/export/home/live/ap/htdocs/test
���У���һ���Ǵ����������ں�ʱ�䣻�ڶ����Ǵ���������ԣ�LogLevel
ָ��ʹֻ�и���ָ�������Լ���Ĵ���Żᱻ��¼���������ǵ��´����IP��ַ���˺�����Ϣ�����ڴ����У��������ܾ�������ͻ��ķ��ʡ��������ڼ�¼�������ļ�ʱ���õ����ļ�ϵͳ·����������Web·����
������־�л���������������ӵĶ������͵���Ϣ�����⣬CGI�ű����κ������stderr
����Ϣ����Ϊ������Ϣԭ�ⲻ���ؼ�¼��������־�С�
�û��������ӻ�ɾ��������־������Ƕ�ijЩ����������������־(access log)��Ҳ������Ӧ�ļ�¼���������������ڷ�����־��Ҳ������Ӧ�ļ�¼����״̬����403����Ϊ������־Ҳ���Զ��ƣ����Կ��Դӷ�����־�еõ������¼��ĸ�����Ϣ��
�ڲ����У����κ�����������Ӵ�����־�Ƿdz����õġ���unixϵͳ�У�������������
tail -f error_log
���ģ�� | ���ָ�� |
---|---|
������־�л��¼������������������������ļ�����λ��ȡ����CustomLog
ָ�LogFormat
ָ����Լ���־�����ݡ��������������÷������ķ�����־��
ʵʩ��־�������ȵ�Ȼ�������������־��Ȼ����ܷ�����־�Ӷ��õ����õ�ͳ����Ϣ����־��������Web��������ְ���ѳ������ĵķ��룬�������Ϻ��йط������ߵ���Ϣ�����Բ鿴Open Directory��Yahoo ��
��ͬ�汾��Apache httpdʹ���˲�ͬ��ģ���ָ�������ƶԷ��ʵļ�¼������mod_log_referer, mod_log_agent��TransferLog
ָ����ڣ�CustomLog
ָ������˾ɰ汾�����ָ������й��ܡ�
������־�ĸ�ʽ�Ǹ߶����ģ�ʹ�ú���C����printf()�����ĸ�ʽ�ַ����������м������ӣ�������˵�����Բ鿴����mod_log_config
ģ�����ʽ�ַ�����
����һ�����͵ļ�¼��ʽ��
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log common
��������һ���ض��ļ�¼��ʽ�ַ��������������˸�������common
�����е�"%"ָʾ��������ij����Ϣ�滻�������ַ������滻������("
)����ӷ�б��ת�壬�Ա��ⱻ����Ϊ�ַ����Ľ�������ʽ�ַ���������������Ŀ��Ʒ����绻�з�"\n
" ���Ʊ��"\t
"��
CustomLog
ָ���һ��ʹ��ָ������������־�ļ����������ļ�������б�ܿ�ͷ�ľ���·����������·�����������ServerRoot
�����·����
����������һ�ֱ���Ϊͨ����־��ʽ(CLF)�ļ�¼��ʽ��������ͬ��Web�����������ã����������־����������ʶ���������ļ�¼���磺
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
/apache_pb.gif HTTP/1.0" 200 2326
��¼�ĸ�����˵�����£�
127.0.0.1
(%h
)HostnameLookups
��Ϊ On
����������᳢�Խ������IP��ַ�����������滻�˴���IP��ַ���������Ƽ�����������Ϊ���������������������������һ����־�������������ж�������������logresolve
������ͻ��ͷ�����֮����ڴ�����ô��¼�е����IP��ַ�����Ǹ������IP��ַ�������ǿͻ�������ʵIP��ַ��-
(%l
)identd
�����жϵ�RFC1413���(identity)������еķ���"-"��ʾ�˴�����Ϣ��Ч���������ϸ���Ƶ��ڲ������У�����Ϣͨ���ܲ��ɿ�����Ӧ�ñ�ʹ�á�ֻ���ڽ�IdentityCheck
ָ����Ϊ On
ʱ��Apache�Ż���ͼ�õ�������Ϣ��frank
(%u
)REMOTE_USER
�ᱻ��Ϊ��ֵ���ṩ��CGI�ű������״̬����401����ʾ�ͻ�δͨ����֤�����ֵû�����塣�����ҳû���������뱣����������"-
"��[10/Oct/2000:13:55:36 -0700]
(%t
)
[��/��/��:ʱ:��:�� ʱ��]
�� = 2����
�� = 3��ĸ
�� = 4����
ʱ = 2����
�� = 2����
�� = 2����
ʱ�� = (+|-)4����
%{format}t
���ı�ʱ��������ʽ�����е�format
��C�����е�strftime()
�÷���ͬ��
"GET /apache_pb.gif HTTP/1.0"
(\"%r\"
)GET
���������Դ��/apache_pb.gif
��ʹ�õ�Э����HTTP/1.0
�����⣬�����Լ�¼������Ϣ���磺��ʽ�ַ���"%m %U%q %H
"���¼������·������ѯ�ַ�����Э�飬�������"%r
"һ����200
(%>s
)2326
(%b
)-
"�����ϣ����¼Ϊ"0
"����ʽ����Ӧ����%B
����һ�ֳ��õļ�¼��ʽ�������־��ʽ����ʽ���£�
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-agent}i\"" combined
CustomLog log/access_log combined
���ָ�ʽ��ͨ����־��ʽ���ƣ����Ƕ������� %{header}i
����е�header�������κ�����ͷ�����ָ�ʽ�ļ�¼���磺
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
/apache_pb.gif HTTP/1.0" 200 2326
"http://www.example.com/start.html" "Mozilla/4.08 [en]
(Win98; I ;Nav)"
���У�����������ǣ�
"http://www.example.com/start.html"
(\"%{Referer}i\"
)/apache_pb.gif
���������ӡ�"Mozilla/4.08 [en] (Win98; I ;Nav)"
(\"%{User-agent}i\"
)���Լ��������ļ����ö��CustomLog
ָ�����������ļ�������־�����������ȼ�¼������CLF��Ϣ���ּ�¼�ύ��ҳ�����������Ϣ���������CustomLog
ʾ�������ģ��ReferLog
��AgentLog
ָ���Ч����
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log common
CustomLog logs/referer_log "%{Referer}i -> %U"
CustomLog logs/agent_log "%{User-agent}i"
����Ҳ˵���ˣ���¼��ʽ����ֱ����CustomLog
ָ����������һ��Ҫ��LogFormat
��һ��������
���ʱ����������������ص�������������ѡ��ؼ�¼ijЩ�ͻ��������������������ȣ���Ҫʹ��SetEnvIf
ָ���������ض������������Ա�ʶ����ij���ض�����������Ȼ����CustomLog
ָ��� env=
�Ӿ䣬������Щ����������������¼���ų��ض����������磺
# ����¼��������������
SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
# ����¼��robots.txt�ļ�������
SetEnvIf Request_URI "^/robots\.txt$" dontlog
# ��¼��������
CustomLog logs/access_log common env=!dontlog
���磬��ʹ��Ӣ��������¼��һ����־������¼��Ӣ���������һ����־��
SetEnvIf Accept-Language "en" english
CustomLog logs/english_log common env=english
CustomLog logs/non_english_log common env=!english
��Ȼ�����Ѿ�չʾ��������־��¼��ǿ��������ⲻ�ǿ�����־���ݵ�Ψһ�ֶΣ�����������־��̴�����������㲻���ĵ����ݣ��Ӷ�ʹ��־�������á�
��ʹһ��������æ�ķ�����������־�ļ�����Ϣ��Ҳ��ܴ�һ��ÿ10000����������־�ͻ�����1MB����ࡣ����б�Ҫ���ڹ�����־�ļ�������Apache�ᱣ����־�ļ��Ĵ�������д����Ϣ����˷����������ڼ䲻��ִ�й����������ƶ�����ɾ����־�ļ��Ժ����������������������������µ���־�ļ���
�����ŵ�(graceful)������������������ʹ�����������µ���־�ļ���������ʧԭ����δд�����Ϣ��Ϊ�ˣ��б�Ҫ�ȴ�һ��ʱ�䣬�÷�����������ڴ������������¼д�뵽ԭ������־�ļ���������һ�����͵���־������Ϊ��ʡ�洢�ռ��ѹ������־�����ӣ�
mv access_log access_log.old
mv error_log error_log.old
apachectl graceful
sleep 600
gzip access_log.old error_log.old
��һ��ִ�й����ķ�����ʹ����һ�ڲ������ܵ���־��
Apache httpd����ͨ���ܵ������ʼ�¼�ͳ�����Ϣ���ݸ���һ�����̣�������д��һ���ļ�����������������������б�̣����������������ǿ����־������ԡ�ֻҪ�ùܵ�������"|
"�����һ����ִ���ļ������Ϳ���ʹ�������ӱ������豸����¼���¼��Apache������ʱ����ͬʱ��������ܵ���־���̣����������й����У����������̱����ˣ������������������(�������dz��������Ϊ"�ɿ��ܵ���־")��
�ܵ���־�������丸����Apache httpd���������̳���Ȩ�ޣ�����ζ�Źܵ�����ͨ������Ϊroot���еģ����Ա�������������ȫ��Ϊ��Ҫ��
�ܵ���־��һ����Ҫ��;�ǣ�������־��������������������������Ϊ�ˣ��������ṩ��һ���ij���rotatelogs
��ÿ24Сʱ����һ����־���������£�
CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common
ע�⣺�������ڽ綨�����ܵ������С���Ȼ������Է�����־�ģ��������÷�����������־Ҳһ����
������վ�㣬��һ�����Ƶ���������־���������cronolog ��
����нϼ����ߴ�����־�ķ������Ͳ�Ӧ��ʹ��������־�ܵ���־����ʹ���Ƿdz�ǿ��
�����������������������������ô���м���������־�ļ��Ĺ��ܡ����ȣ�������־ָ�����<VirtualHost>
��֮�⣬����������������ʹ��ͬһ��������־�ʹ�����־����¼���е�����ʹ����������Ͳ��ܷ���Ļ��ÿ��������������Ϣ�ˡ�
�����CustomLog
��ErrorLog
ָ�����<VirtualHost>
���ڣ����ж������������������ʹ�����Ϣ�ᱻ��¼����˽�е���־�ļ��У���Щû����<VirtualHost>
����ʹ����־ָ���������������Ȼ����������ʹ��ͬһ����־�����ַ����������������ٵķ����������ã������������dz���ʱ���ͻ���������ϵ����ѣ�������������ļ���������ȱ�����⡣
���ڷ�����־����һ���ܺõ����Է�������ͬһ��������־�ļ��м�¼�����������ķ��ʣ���ÿ����¼��ע��������������Ϣ���պ��ٰѼ�¼���벻ͬ���ļ������磺
LogFormat "%v %l %u %t \"%r\" %>s %b" comonvhost
CustomLog logs/access_log comonvhost
%v
��������������������Ϣ���и�split-logfile������Ը��ݲ�ͬ������������Ϣ����־���в�֣�����������벻ͬ���ļ���
���ģ�� | ���ָ�� |
---|---|
mod_logio
���������������LogFormat
�ֶ�(%I �� %O)���ڼ�¼���պͷ��͵�ʵ���ֽ�����
mod_log_forensic
�ṩ�˶Կͻ���������Ա���¼��Ҳ������������֮ǰ�ʹ������֮��������μ�¼�����ԶԱ���־(forensic log)����ÿ��������������¼���Աȼ�¼��(forensic logger)ʮ���ϸ����Խ��ж��ơ������Գ�Ϊ�۵ĵ��ԺͰ�ȫ���ߡ�
������ʱ��Apache httpd������logs/httpd.pid
�ļ��б����丸����httpd�Ľ���ID(process id[PID])�����ļ���������PidFile
ָ��ı䡣��PID���Ա�����Ա��������������������ֹ��������̨�ػ����̡���Windows�У�����ʹ�������в��� -k ��������Ϣ��μ�ֹͣ������������
Ϊ�˷�����ԣ�������ScriptLog
ָ������¼CGI�ű��������������˹���Ӧ�ý����ڲ��ԣ�����Ӧ���������������ķ�����������������μ�mod_cgi�ĵ���
��ʹ��ǿ��������mod_rewriteʱ���������б�Ҫ��RewriteLog
���������ԡ������־�ṩ����д�������ת���������ϸ�ֽ���Ϣ������ϸ�̶�ȡ����RewriteLogLevel
ָ�