如何查看及分析网站IIS日志文件
网站IIS日志分析是一个专业的SEO必备的工作技能之一,服务器的一些状况和访问IP的来源都会记录在IIS日志中,所以IIS日志对每个服务器管理者非常的重要,这点同时也可方便网站管理人员查看网站的运营情况。
通过分析查看网站IIS日志可以让我们知道分析出网站的死链接,301,202,等等,可让我们知道网站那些链接是搜索引擎经常爬取的,每天那些页面是被搜索引擎爬取过,可以分析出网站是否被降权、哪些页面被收录等,今天,马海祥就跟大家分享一下如何查看IIS日志,以及如何分析IIS日志?希望对大家有所帮助。
一、IIS日志是什么?
IIS日志主要用于记录用户和搜索引擎蜘蛛对网站的访问行为。
简单来说,网站IIS日志就是指记录各种搜索引擎蜘蛛来访并抓取网站的行为状态码,并已文件的方式生成IIS日志。
我们可以通过IIS日志来让我们知道蜘蛛来访的记录,而且可以让我们知道网站的死链接,301等,让我们及时的分析好网站的收录和快照更新情况。
IIS日志中,包括客户端访问时间、访问来源、来源IP、客户端请求方式、请求端口、访问路径及参数、Http状态码状态、返回字节大小等信息(具体可查看马海祥博客《如何通过iis日志分析网站的隐形信息》的相关介绍)。
二、如何查看IIS日志文件?
Windows2003环境中,IIS日志默认存储路径:C:\WINDOWS\system32\LogFiles\,在LogFiles文件夹下,存在多个IIS日志文件夹,每个IIS日志文件夹对应一个站点日志,当然IIS日志文件存储位置也可以根据自己的实际情况,在IIS管理器中重新设定,具体的步骤如下:
1、进入服务器的管理之后,打开“Internet 信息服务(IIS)管理器”,图标如下图所示:
2、双击信息服务(IIS)管理器,进入管理以后打开信息服务(IIS)管理器,选中要查看的网站,在网站栏目那里右键单击,选择“属性”,如下图所示:
3、在弹出的窗口里面,点击“网站”栏目,查看日志记录中的“属性”,
4、通过日志记录属性栏目,即可看到日志文件目录了
上面的日志文件目录即是iis的文件存放位置了,IIS日志文件便在C:\WINDOWS\system32\LogFiles\文件夹内。
IIS日志文件存储格式是后缀名为log的文本文件,如下面这些文件就是网站的iis日志了。
要查看对应站点的IIS日志,只需要打开对应IIS日志文件夹找到相对应日志文件即可,也可借助IIS日志分析工具提供查看IIS日志的效率!
三、如何分析IIS日志?
知道了IIS日志的位置了,也看到了IIS日志的文件了,接下来我们就应该对日志文件进行分析了,那么,我们该如果分析IIS日志呢?
1、如何查看IIS日志信息
IIS日志可以用IIS日志分析工具去大概的去查一查,一般工具都能查出有各种蜘蛛来到网站的总数,以及有没有失败,不会把各种的信息都给你,工具分析只是简单的告诉你一个概况,马海祥在此就拿出一条信息来为大家具体的分析一下,如下面的截图所示:
我们可以分段对这个IIS日志进行分析:
2010-10-22 05:04:53 表示的是时间;
W3SVC151800 P-0YMR9WW8YX4U9是机器编号;
222.76.213.49为网站的IP;
GET是触发事件;
80是端口号;
61.135.186.49是搜索引擎蜘蛛的IP;
Baiduspider是百度的蜘蛛(另外,谷歌蜘蛛:Googlebot;360搜索蜘蛛:360Spider,更多的可查看马海祥博客《解读iis日志中搜索引擎蜘蛛名称代码及爬寻返回代码》的相关介绍);
200 0 0是访问成功的返回代码;
41786 193 6968是蜘蛛与网站对话的时间与下载的数据以及花了多少时间。
连在一起就是2010.10.22的早上5点4分53秒的时候一个编号为W3SVC151800 P-0YMR9WW8YX4U9的蜘蛛通过80端口进入网站成功访问并下载了47186B的数据,花费了193MS。
2、用excel表格分析网站的iis日志
先新建一个excel表格,把刚才的ex121129.log文件里的文件粘贴到新建的excel表格里面,,如下图所示:
复制之后,选定A,在工具栏里选择数据→分列,如下图所示:
选择分隔符号,点击下一步:
选择空格,去掉Tab键前面的钩,点击完成,如下图所示:
网站的iis日志就这样被拆分出来了,之后自己再调整一下表格的列宽、升降序等即可。
四、详解IIS日志参数
一般情况下,IIS日志文件代码格式如下所示:
#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2009-11-26 06:14:21
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2009-11-26 06:14:21 W3SVC692644773 125.67.67.* GET /index.html - 80 - 123.125.66.130 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 64
2009-11-26 06:14:21 W3SVC692644773 125.67.67.* GET /index.html - 80 - 220.181.7.116 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 64
在此,马海祥也为大家详细的解说一下IIS日志参数:
date:发出请求时候的日期。
time:发出请求时候的时间,注意:默认情况下这个时间是格林威治时间,比我们的北京时间晚8个小时,下面有说明。
c-ip:客户端IP地址。
cs-username:用户名,访问服务器的已经过验证用户的名称,匿名用户用连接符-表示。
s-sitename:服务名,记录当记录事件运行于客户端上的Internet服务的名称和实例的编号。
s-computername:服务器的名称。
s-ip:服务器的IP地址。
s-port:为服务配置的服务器端口号。
cs-method:请求中使用的HTTP方法,GET/POST。
cs-uri-stem:URI资源,记录做为操作目标的统一资源标识符(URI),即访问的页面文件。
cs-uri-query:URI查询,记录客户尝试执行的查询,只有动态页面需要URI查询,如果有则记录,没有则以连接符-表示,即访问网址的附带参数。
sc-status:协议状态,记录HTTP状态代码,200表示成功,403表示没有权限,404表示找不到该页面,具体说明在下面。
sc-substatus:协议子状态,记录HTTP子状态代码。
sc-win32-status:Win32状态,记录Windows状态代码。
sc-bytes:服务器发送的字节数。
cs-bytes:服务器接受的字节数。
time-taken:记录操作所花费的时间,单位是毫秒。
cs-version:记录客户端使用的协议版本,HTTP或者FTP。
cs-host:记录主机头名称,没有的话以连接符-表示。马海祥提醒大家注意:为网站配置的主机名可能会以不同的方式出现在日志文件中,原因是HTTP.sys使用Punycode编码格式来记录主机名。
cs(User-Agent):用户代理,客户端浏览器、操作系统等情况。
cs(Cookie):记录发送或者接受的Cookies内容,没有的话则以连接符-表示。
cs(Referer):引用站点,即访问来源。
五、搜索引擎蜘蛛爬寻返回代码
HTTP协议状态码的含义,协议状态sc-status,是服务器日记扩展属性的一项,下面是各状态码含义:
"100" :Continue,客户必须继续发出请求。
"101" :witching Protocols,客户要求服务器根据请求转换HTTP协议版本。
"200" :OK,交易成功。
"201" :Created,提示知道新文件的URL。
"202" :Accepted,接受和处理、但处理未完成。
"203" :Non-Authoritative Information,返回信息不确定或不完整。
"204" :No Content,请求收到,但返回信息为空。
"205" :Reset Content,服务器完成了请求,用户代理必须复位当前已经浏览过的文件。
"206" :Partial Content,服务器已经完成了部分用户的GET请求。
"300" :Multiple Choices,请求的资源可在多处得到。
"301" :Moved Permanently,删除请求数据。
"302" :Found,在其他地址发现了请求数据。
"303" :See Other,建议客户访问其他URL或访问方式。
"304" :Not Modified,客户端已经执行了GET,但文件未变化。
"305" :Use Proxy,求的资源必须从服务器指定的地址得到。
"306" :前一版本HTTP中使用的代码,现行版本中不再使用。
"307" :Temporary Redirect,申明请求的资源临时性删除。
"400" :Bad Request,错误请求,如语法错误。
"401" :Unauthorized,请求授权失败。
"402" :Payment Required,保留有效ChargeTo头响应。
"403" :Forbidden,请求不答应(具体可查看马海祥博客《403 Forbidden错误的原因和解决方法》的相关介绍)。
"404" :Not Found,没有发现文件、查询或URl(具体可查看马海祥博客《404 Not Found错误页面的解决方法和注意事项》的相关介绍)。
"405" :Method Not Allowed,用户在Request-Line字段定义的方法不答应。
"406" :Not Acceptable,根据用户发送的Accept拖,请求资源不可访问。
"407" :Proxy Authentication Required,类似401,用户必须首先在代理服务器上得到授权。
"408" :Request Time-out,客户端没有在用户指定的饿时间内完成请求。
"409" :Conflict,对当前资源状态,请求不能完成。
"410" :Gone,服务器上不再有此资源且无进一步的参考地址。
"411" :Length Required,服务器拒绝用户定义的Content-Length属性请求。
"412" :Precondition Failed,一个或多个请求头字段在当前请求中错误。
"413" :Request Entity Too Large,请求的资源大于服务器答应的大小。
"414" :Request-URI Too Large,请求的资源URL长于服务器答应的长度。
"415" :Unsupported Media Type,请求资源不支持请求项目格式。
"416" :Requested range not satisfiable,请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段。
"417" :Expectation Failed,服务器不满足请求Expect头字段指定的期望值,假如是代理服务器。
"500" :Internal Server Error,服务器产生内部错误。
"501" :Not Implemented,服务器不支持请求的函数。
"502" :Bad Gateway,服务器暂时不可用,有时是为了防止发生系统过载。
"503" :Service Unavailable,服务器过载或暂停维修。
"504" :Gateway Time-out,关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长。
"505" :HTTP Version not supported,服务器不支持或拒绝支请求头中指定的HTTP版本.
2016-07-17