<-
Apache > HTTP Server > �ĵ� > �汾2.2
���� ��л | �������� | ��ƪ���ߣ��𲽹� | ��ҳ�����£�2006��1��4�� | ��ȡ���°汾

��־�ļ�

Ҫ��Ч�ع���Web�����������б�Ҫ�����������Ļ�������Լ����ֵ����⡣Apache HTTP�������ṩ�˷dz�ȫ���������־��¼���ܡ����Ľ�������������ļ��Լ���������־���ݡ�

top

��ȫ����

�κ���ֻҪ��Apache�����־�ļ���Ŀ¼����дȨ�ޣ�Ҳ�͵�Ȼ�ؿ��Ի������Apache���û�(ͨ����root)��Ȩ�ޣ����Բ�Ҫ��������κ��˴����־�ļ�Ŀ¼��дȨ�ޡ�ϸ����μ���ȫ�������ʾ��

���⣬��־�ļ����ܻ����δ��ת���������û�����Ϣ���û����л�����������Ʒ������Դ���ԭʼ��־ʱӦ�õ���������⡣

top

������־(Error Log)

������־������Ҫ����־�ļ������ļ�����λ��ȡ����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

top

������־(Access Log)

������־�л��¼������������������������ļ�����λ��ȡ����CustomLogָ�LogFormatָ����Լ���־�����ݡ��������������÷������ķ�����־��

ʵʩ��־�������ȵ�Ȼ�������������־��Ȼ����ܷ�����־�Ӷ��õ����õ�ͳ����Ϣ����־��������Web��������ְ���ѳ������ĵķ��룬�������Ϻ��йط������ߵ���Ϣ�����Բ鿴Open Directory��Yahoo ��

��ͬ�汾��Apache httpdʹ���˲�ͬ��ģ���ָ�������ƶԷ��ʵļ�¼������mod_log_referer, mod_log_agent��TransferLogָ����ڣ�CustomLogָ������˾ɰ汾�����ָ������й��ܡ�

������־�ĸ�ʽ�Ǹ߶����ģ�ʹ�ú���C����printf()�����ĸ�ʽ�ַ����������м������ӣ�������˵�����Բ鿴����mod_log_configģ�����ʽ�ַ�����

ͨ����־��ʽ(Common Log Format)

����һ�����͵ļ�¼��ʽ��

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)
���Ƿ������󵽷������Ŀͻ���IP��ַ�����HostnameLookups��Ϊ On ����������᳢�Խ������IP��ַ�����������滻�˴���IP��ַ���������Ƽ�����������Ϊ���������������������������һ����־�������������ж�������������logresolve ������ͻ��ͷ�����֮����ڴ�����ô��¼�е����IP��ַ�����Ǹ������IP��ַ�������ǿͻ�������ʵIP��ַ��
- (%l)
�����ɿͻ���identd�����жϵ�RFC1413���(identity)������еķ���"-"��ʾ�˴�����Ϣ��Ч���������ϸ���Ƶ��ڲ������У�����Ϣͨ���ܲ��ɿ�����Ӧ�ñ�ʹ�á�ֻ���ڽ�IdentityCheckָ����Ϊ On ʱ��Apache�Ż���ͼ�õ�������Ϣ��
frank (%u)
����HTTP��֤ϵͳ�õ��ķ��ʸ���ҳ�Ŀͻ���ʶ(userid)����������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)
���Ƿ��������ظ��ͻ��˵�״̬�롣�����Ϣ�dz��м�ֵ����Ϊ��ָʾ������Ľ���������DZ��ɹ���Ӧ��(��2��ͷ)�����߱��ض�����(��3��ͷ)�����߳�����(��4��ͷ)�����߲����˷������˴���(��5��ͷ)��������״̬���б�μ�HTTP�淶(RFC2616��10��)��
2326 (%b)
��������Ƿ��ظ��ͻ��˵IJ�������Ӧͷ���ֽ��������û����Ϣ���أ������Ӧ����"-"�����ϣ����¼Ϊ"0"����ʽ����Ӧ����%B ��

�����־��ʽ(Combined Log Format)

��һ�ֳ��õļ�¼��ʽ�������־��ʽ����ʽ���£�

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\")
"Referer"����ͷ������ָ���˸������DZ����ĸ���ҳ�ύ�����ģ������ҳӦ�ð�����/apache_pb.gif���������ӡ�
"Mozilla/4.08 [en] (Win98; I ;Nav)" (\"%{User-agent}i\")
"User-Agent"����ͷ�������ǿͻ����ṩ�������ʶ����Ϣ��

���ļ�������־

���Լ򵥵��������ļ����ö��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

��Ȼ�����Ѿ�չʾ��������־��¼��ǿ��������ⲻ�ǿ�����־���ݵ�Ψһ�ֶΣ�����������־��̴���������޳��㲻���ĵ����ݣ��Ӷ�ʹ��־�������á�

top

��־����

��ʹһ��������æ�ķ�����������־�ļ�����Ϣ��Ҳ��ܴ�һ��ÿ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

��һ��ִ�й����ķ�����ʹ����һ�ڲ������ܵ���־��

top

�ܵ���־

Apache httpd����ͨ���ܵ������ʼ�¼�ͳ�����Ϣ���ݸ���һ�����̣�������д��һ���ļ�����������������������б�̣����������������ǿ����־������ԡ�ֻҪ�ùܵ�������"|"�����һ����ִ���ļ������Ϳ���ʹ�������ӱ�׼�����豸����¼���¼��Apache������ʱ����ͬʱ��������ܵ���־���̣����������й����У����������̱����ˣ������������������(�������dz��������Ϊ"�ɿ��ܵ���־")��

�ܵ���־�������丸����Apache httpd���������̳���Ȩ�ޣ�����ζ�Źܵ�����ͨ������Ϊroot���еģ����Ա����������򵥶���ȫ��Ϊ��Ҫ��

�ܵ���־��һ����Ҫ��;�ǣ�������־��������������������������Ϊ�ˣ��������ṩ��һ���򵥵ij���rotatelogs ��ÿ24Сʱ����һ����־���������£�

CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common

ע�⣺�������ڽ綨�����ܵ������С���Ȼ������Է�����־�ģ��������÷�����������־Ҳһ����

������վ�㣬��һ�����Ƶ���������־���������cronolog ��

����нϼ򵥵����ߴ�����־�ķ������Ͳ�Ӧ��ʹ��������־�͹ܵ���־����ʹ���Ƿdz�ǿ��

top

��������

�����������������������������ô���м���������־�ļ��Ĺ��ܡ����ȣ����԰���־ָ�����<VirtualHost>��֮�⣬����������������ʹ��ͬһ��������־�ʹ�����־����¼���е�����ʹ��󣬵��������Ͳ��ܷ���Ļ��ÿ��������������Ϣ�ˡ�

�����CustomLog��ErrorLogָ�����<VirtualHost>���ڣ����ж������������������ʹ�����Ϣ�ᱻ��¼����˽�е���־�ļ��У���Щû����<VirtualHost>����ʹ����־ָ���������������Ȼ����������ʹ��ͬһ����־�����ַ����������������ٵķ����������ã������������dz���ʱ���ͻ���������ϵ����ѣ�������������ļ���������ȱ�����⡣

���ڷ�����־����һ���ܺõ����Է�������ͬһ��������־�ļ��м�¼�����������ķ��ʣ���ÿ����¼��ע��������������Ϣ���պ��ٰѼ�¼�𿪴��벻ͬ���ļ������磺

LogFormat "%v %l %u %t \"%r\" %>s %b" comonvhost
CustomLog logs/access_log comonvhost

%v ��������������������Ϣ���и�split-logfile������Ը��ݲ�ͬ������������Ϣ����־���в�֣�����������벻ͬ���ļ���

top

������־�ļ�

��¼���պͷ��͵�ʵ���ֽ���

mod_logio���������������LogFormat�ֶ�(%I �� %O)���ڼ�¼���պͷ��͵�ʵ���ֽ�����

�Աȼ�¼(Forensic Logging)

mod_log_forensic�ṩ�˶Կͻ���������Ա���¼��Ҳ���������󱻴���֮ǰ�ʹ������֮��������μ�¼�����ԶԱ���־(forensic log)����ÿ�����󶼰���������¼���Աȼ�¼��(forensic logger)ʮ���ϸ񣬲����Խ��ж��ơ������Գ�Ϊ�޼۵ĵ��ԺͰ�ȫ���ߡ�

PID�ļ�

������ʱ��Apache httpd������logs/httpd.pid�ļ��б����丸����httpd�Ľ���ID(process id[PID])�����ļ���������PidFileָ��ı䡣��PID���Ա�����Ա��������������������ֹ��������̨�ػ����̡���Windows�У�����ʹ�������в��� -k ��������Ϣ��μ�ֹͣ������������

�ű���־

Ϊ�˷�����ԣ�������ScriptLogָ������¼CGI�ű��������������˹���Ӧ�ý����ڲ��ԣ�����Ӧ���������������ķ�����������������μ�mod_cgi�ĵ���

��д��־

��ʹ��ǿ��������mod_rewriteʱ���������б�Ҫ��RewriteLog���������ԡ������־�ṩ����д�������ת���������ϸ�ֽ���Ϣ������ϸ�̶�ȡ����RewriteLogLevelָ�