apache日志中包含哪些内容(apache的日志)

apache日志中包含哪些内容(apache的日志)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

大家好,今天来介绍apache日志中包含哪些内容的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!

关于apache日志格式

下面是Apache 日志格式中的关键字。。。你看看就明白了。

%% 百分号(Apache2.0.44或更高的版本 )
%a 远端IP地址
%A 本机IP地址
%B 除HTTP头以外传送的字节数
%b 以CLF格式显示的除HTTP头以外传送的字节数,也就是当没有字节传送时显示’- ‘而不是0。
%{Foobar}C 在请求中传送给服务端的cookieFoobar的内容。
%D 服务器处理本请求所用时间,以微为单位。
%{FOOBAR}e 环境变量FOOBAR的值
%f 文件名
%h 远端主机
%H 请求使用的协议
%{Foobar}i 发送到服务器的请求头Foobar: 的内容。
%l 远端登录名(由identd而来,如果支持的话),除非IdentityCheck 设为”On “,否则将得到一个”-”。
%m 请求的方法
%{Foobar}n 来自另一个模块的注解Foobar 的内容。
%{Foobar}o 应答头Foobar: 的内容。
%p 服务器服务于该请求的标准端口。
%P 为本请求提供服务的子进程的PID。
%{format}P 服务于该请求的PID或TID(线程ID),format 的取值范围为:pid 和tid (2.0.46及以后版本 )以及hextid (需要基滚脊APR1.2.0及以上版本)
%q 查询字符串(若存在则由一个”? “引导,否则返回空串)
%r 请求的第一行
%s 状态。对于内部重定向的请求,这个状态指的是原始 请求的状态,—%>搏渗s 则指的是最后请求的状态。
%t 时间,用普通日志时间格式(标准英语格式)
%{format}t 时间,用strftime(3) 指定的格式表示的时间。(默认情况下按本地化格式)
%T 处理完请求所花时间,以秒为单位。
%u 远程用户名(根据验证信息而来;如果返回status(%s )为401,可能是假的)
%U 请求的URL路径,不包备段含查询字符串。
%v 对该请求提供服务的标准ServerName 。
%V 根据UseCanonicalName 指令设定的服务器名称。
%X 请求完成时的连接状态: X = 连接在应答完成前中断。
+ = 应答传送完后继续保持连接。
- = 应答传送完后关闭连接。

(在1.3以后的版本中,这个指令是%c ,但这样就和过去的SSL语法:%{var}c 冲突了)
%I 接收的字节数,包括请求头的数据,并且不能为零。要使用这个指令你必须启用mod_logio 模块。
%O 发送的字节数,包括请求头的数据,并且不能为零。要使用这个指令你必须启用mod_logio 模块。

默认的Apache日志文件

关于默认的Apache日志文件

Apache提供很多检测和日志工具来追踪服务器的正确运行。默认的Apache配置提供两个日志文件,放置在安装目录下的日志目录里面。access_log这个文件(在windows下对应access.log文件)包含了服务器已经处理过的请求的信息,比如说请求的URL,客户端的IP地址,请求是否被成功完成等。error_log 这个文件(在windows下对应error.log文件)包含了与错误情况相关的信息,以及服务器生命周期中不同的大事件。

创建日志格式

LogFormat "%h %l %u %t "%r" %>s %b" common

LogFormat "腊穗贺%h %l %u %t "%r" %>s %b"

"%{Referer}i" "%{User-agent}i"" combined

LogFormat指令允许你告诉Apache你想要记录请求的哪些方面。而你仍需附加的族团指令来告诉Apache在哪里记录那些信息,这在下一章中将会介绍。下面的例子显示了两种最受欢迎的格式的配置:普通日志格式和整合日志格式。当Apache收到一个请求,他将会用相应的请求属性来替代以%为前缀的每一个域。如果您正在使用普通日志格式,您的日志文件里的每一项输入看起来都将是这样的:

192.168.200.4 - someuser [12/Jun/2005:08:33:34

+0500] "GET /example.png HTTP/1.0" 200 1234

如果您正在使用整合日志格式,您的日志文件里的每一项输入看起来则都将是这样的:

192.168.200.4 - someuser [12/Jun/2005:08:33:34

+0500] "GET /example.png HTTP/1.0" 200 1234

/ "Mozilla/5.0

(Windows; U; Windows NT 5.1; en-US; rv:1.7.7)"尽管有附件提供日志格式的详尽索引,下表描述了一些最为重要的域:

# %h: 客户端(例如,浏览器)向服务器发出连接请求时自己的当时的IP地址或域名(需开启HostNameLookups)。

# %u: 使用HTTP方式认证用户时,记录下的用户的编号。

# %t: 服务器接受到连接请求的时间。

# %r: 客户端发出的原始连接请求中的文本信息,包含所使用的HTTP方法。

# %>s: 服务器应答浏览器后的返回状态代码,200表示请求成功。.

# %b: 服务器应答浏览器发出的单个请求的回传对象的内容大小(字节为单位),不统计数据包头部字节。

整合日志格式在普通日志格式的基础上扩展出了两个附加的`域。定义为:

# %{Referer}i: 连接请求数据包包头,包含指向当前页面的文档关联信息。

# %{User-agent}i: 用户代理连接请求数据包包头,包含客户浏览器的信息。

创建一个自定义日志文件

CustomLog logs/access_log common

TransferLog logs/sample.log您可能会想创建Apache自带以外的新的日志文件。下面的例子将运用CustomLog来创建一个新的日志文件,并保存由一个之前定义好的日志格式,即前一章提到的common,所定义的信息。您还可以用格式本身的定义来替换昵称。一个附加的,更为简单的指令是Transferlog,它只接受最后一个LogFormat指令提供的定义。

延伸阅读:

重导向日志到一个外部的程序

TransferLog "bin/rotatelogs /var/logs/apachelog

86400"你也可以用CustomLog或TransferLog将日志的输出重导向(输出)到一个外部的程序,而不是一个文件。要做到这一点,首先您需要以输出字符""开头,跟着是接收日志标准输入信息的程序之路经。本例运用Apache自带的rotatelogs程序,在稍后的章节中会对其有所介绍。

当有一个外部程序被使用,它将作为轮派启动mon env=!image

SetEnvIf Remote_Addr 192.168.200.5 specialmachine

CustomLog logs/special_access_log common env=specialmachine你可以根据可变的环境决定是否记录一个请求。这种可变可以根据许多参数,比如客户端的IP地址或请求中某个头部的存在,事先设置好。正如本例中所显示,CustomLog指令可以将可变的环境作为第三个参数来接受。如果存在可变的环境,它就将被记录,否则就不会。如果这个可变的环境被一个"!"开头否定,那么不存在可变的环境将会被记录。本例将告诉您如何避免在日志里以GIF和JPEG的格式记录图像,及如何从一个特定的IP地址记录请求道一个单独的日志文件。另一个例子请参加下一节。

谁在连接你的网站

SetEnvIfNoCase Refererinternalreferral

LogFormat "%{Referer}i -> %U" referer

CustomLog logs/referer.log referer env=!internalreferral可以通过记录Referer的值来检测哪些人连接了你的网站,Referer变量位于用户发送连接请求数据包的头部,数据包头中还包含了用户访问的目的网站的URL地址。通过这种方法可以记录下绝大部分网站访问者。也可以把来自特定网站()地址段的来访者排除出日志记录文件。

利用模块参数(mod_status)来监视Apache服务器

SetHandler server-status

Order Deny,Allow

Deny from all

Allow from 192.168.0

Apache服务器中可以使用的功能模块很多,有服务器内置的也有外挂的,这些模块工作的状态和性能就是通过mod_status参数来记录的,记录的内容有“哪些模块参与了网站应答服务、哪些模块处于空闲状态、服务器的开启/关闭时间。正在处理的连接请求数和访问者数量(需要指定ExtendedStatus记号)-该模块记录对高负荷网站服务器性能有很大影响”。例子中记录的模块状态统计结果可以用浏览器访问/server-status页面来查看。

通过SNMP协议来监视Apache服务器

SNMP是简单网管协议,支持SNMP的服务器或网络设备可以被OpenView、Tivoli等网管软件统一管理,目前有很多开源的SNMP模块可以加装到Apache网站服务器之上,对于Apache 1.3版来讲,mod_snmp模块可以支持第1版和2版的SNMP协议;对于Apache 2版来讲,mod_apache_snmp模块可以编译成Apache的DSO直接支持第1版、第2版和第3版的SNMP协议。有了SNMP模块,外部网管软件就可以对Apache网站服务器的各种实时性能参数进行查看了,这些参数包含“服务器连续在线时间、平均负载、一段时间内的错误数、提供网站服务的字节数和连接请求数”。SNMP模块遇到突然激增的并发连接请求数时会向控制台报警。管理SNMP资源的开源工具软件有:“net-snmp,OpenNMS,Najios等”。

用开源工具分析日志

有很多开源和商业版的工具软件可以对产生的Apache日志文件做分析和处理,通常的步骤是:

1.选取一个日志文件。

2.分析日志文件内容。

3.生成包含不同类别内容的统计信息网页输出。Webalizer(/software/去下载这些工具。

将连接请求日志记录到数据库

Apache本身没有将记录转发到数据库的功能,必须要第三方脚本和模块来支持。这里列举几个:mod_log_sql模块允许将连接请求直接记入MySQL数据库,然后用Apache LogView SQL工具来参看库中的记录;pglogd工具可以记录日志到PostgreSQL数据库中。

将日志文件转存和归档

CustomLog "bin/rotatelogs /var/logs/apachelog

86400" common如果网站流量较高,日志文件很容易就会变得很大,需要进行转存和归档处理。转存日志文件时需要压缩和保存,在线进行这项工作可以使用Apache提供的rotatelogs来完成,类似工具还可以在.au/logtools/网页可以找到一些其他的日志工具。比如vlogger工具就可以替代cronologs来对单个服务器上的虚拟网站日志进行分别处理,该工具在

CustomLog logs/vhost1.example.com_log combined

ErrorLog logs/vhost2.example.com_log

.......

使用CustomLog标志段在Apache配置文件的 区块内实现虚拟网站日志文件的独立处理。

LogFormat "%v %h %l %u %t "%r" %>s %b" common_virtualhost

CustomLog logs/access_log common_virtualhost在Apache全局配置中配置方法,其中的v%负责把提供服务的虚拟网站记录下来,对于配置了很多虚拟网站的单台服务器来说,这种配置不错。如果不想记录虚拟服务器的日志只需要在配置文件中加入"CustomLog /dev/null"就可以了。

日志文件中常见的条目

缺少favicon.ico文件,该文件可在浏览器的标题栏显示网站的个性图案;

缺少robots.txt文件,利于站点复制工具和搜索引擎使用;

覆写httpd.pid文件,网站服务器不正常退出后遗留的PID记录文件;

陌生的长记录条,

"SEARCH /x90x02xb1x02xb1x02xb1x02 ..."

"GET /scripts/..%252f../winnt/system32/cmd.exe?/

c+dir HTTP/1.0..."

"GET /default.ida?NNNNNNN NNNNNNNNNNNNNNNNNN ..."类似的记录条表示访问者请求了网站上根本没有的cmd.exe,root.exe或dir等文件。

日志文件中的一些条目经常反映了那些自动探测网站服务器漏洞的动作,多数来源于针对IIS网站服务器的蠕虫和恶意程序。有时候也会发现一些针对Apache的漏洞,所以为了保证Apache的正常运行,用户应保持经常更新Apache软件。

linux Apache服务器提供的日志的种类有哪些

不知道你说的日志的种类知辩旁指的什么意思,再apache中记录日志的格式分种类,
1.有简单记录的比如记录ip,访问时间。
2.有复杂一点的比如ip,灶滑访问时间,页面,返回结果
但记录类型都是文本。不知掉这么解搭橡释可否

apache程序被关闭或是报错在日志中有没有记录记录的内容是什么

当顷拦然有模判记录了,在自己雀码胡安装apache的目录找到conf/httpd.conf文件,打开找到存储错误日志的文件详情查看http://blog.csdn.net/wangsky2/archive/2010/11/18/6019264.aspx

如何分析apache日志access

您好,很高兴为您解答。

默认Apache运行会access_log(访问日志)和error_log(错误日志)两个日志文件。
看一条典型的access_log的日志记录:
61.155.149.20 - - [17/Dec/2013:05:42:47 +0800] "GET /category/db/ HTTP/1.1" 200 23225
1)61.155.149.20 这是一个请求到apache服务器的客户端ip,默认的情况下,第一项信息只是远程主机的ip地址,但我们如果需要apache查出主机的名字,可以将 HostnameLookups设置为on,不推荐使用,会大大降低网站速度。

2) - 这一项是空白,使用"-"来代替,用于记录浏览者的标识,对于大多数浏览器,这项都是空。

3) - 也为空,记录浏览者进行身份验证时提供的名字,大多数这项也为空。

4) [17/Dec/2013:05:42:47 +0800]第四项是记录请求的时间,格式为[day/month/year:hour:minute:second zone],最后的+0800表示服务器所处的时区为东八区

5) "GET /category/db/ HTTP/1.1" 这一项冲敏最有用,首先,它告诉我们的服务器收到的是一个GET请求,其次,是客户端请求的资源路径,第三,客户端使用的协议时HTTP/1.1,整个格式为"%m %U%q %H",即"请求方法/访问路径/协议"

6) 200 这是一个状态码,由服务器端发送回客户端,它告诉我们客户端的请求是否成功,或者是重定向,或者是碰到了什么样的错误,这项值为200,表示服务器已经成 功的响应了客户端的请求,一般来说,这项值以2开头的表示请求成功,以3开头的表示重定向,以4开头的标示客户端存在某些的错误,以5开头的标示服务器端 存在某些错误。

7) 23225 这项表示服务器向客户端发送了多少的字节,在日志分析统计的时侯,把这些字节加起来就可以得知服镇李务器在某点时间内总的发送数据量是多少

再来看一条error_log信息:
[Tue Dec 17 02:22:46 2013] [error] [client 61.182.137.33] File does not exist: /var/www/html/usr/themes/dddefault/all.txt
1) [Tue Dec 17 02:22:46 2013] 记录错误发生的时间,注意,它跟我们上面access_log记录的时间格式是不同的
2) [error] 这一项为错误的级别,根据LogLevel指令来控制错误的类别,上面的404是属于error级别
3) [client 61.182.137.33] 记录客户端的御判迟ip地址
4) File does not exist: /var/www/html/usr/themes/dddefault/all.txt 错误描述。

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,

~ O(∩_∩)O~

分享到 :
相关推荐

云VPS如何预防数据丢失(云vps如何预防数据丢失)

云VPS预防数据丢失的方法:1。需要做好云VPS安全维护方面的工作。降低云VPS被攻...

企业建站怎么选择免费海外虚拟主机(购买虚拟主机建网站)

企业建站选择免费海外虚拟主机的方法:1。根据网站类型进行判断选择。如常见的博客站点。...

美国服务器遭遇CC攻击怎么办(美国服务器遭遇cc攻击怎么办)

美国服务器遭遇CC攻击的解决方法:1。可以通过取消美国服务器域名绑定来进行恢复;2。...

美国云主机有哪些优势(美国云主机有哪些优势和劣势)

美国云主机与国内云服务器相比。最大的优势是机房。美国的机房和国内的最大区别就在于各种...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注