IIS日志(log)详解

摘要:
如果启动IIS日志记录,则其空间具有自己的IIS日志分析系统。LOG日志顶部有一些相关的说明,即我们通常打开一个URL访问操作,cs-uri步骤是要访问的文件;Cs-uri查询是指附加到访问地址的参数。日志日志将详细记录每次浏览,包括徽标。gif和index.asp文件中的其他图像作为新行。程序示例如下(C#):

现在是网络时代了,不少朋友都拥有了自己的个人网站啊,个人主页什么的,很多人问我如何统计个人网站的流量,其实这个问题很简单的。使用IIS服务器的网站,如果启动IIS的LOG日志记录,每一个网站每一天都会有一个日志生成,这个日志详细地记录了所有访问您的网站的记录,本人是在时代互联 http://now.net.cn 购买的空间,他们空间已经自带了IIS的日志分析系统,查询很方便的,有需要的朋友可以去他们的网站了解一下。 

以下是其中一段: 
ex050104.log 
#Software: Microsoft Internet Information Services 6.0 
#Version: 1.0 
#Date: 2005-01-03 16:00:00 
#Fields: date time cs-method cs-uri-stem cs-uri-query c-ip cs(Referer) sc-status sc-bytes cs-bytes time-taken 

2005-01-01 16:02:06 POST /searchout.asp - 70.25.29.53 http://www.test.com/ 200 18058 653 17312 
2005-01-01 16:02:21 GET /images/cd-01_07.gif - 70.25.29.53 http://www.test.com/Enterprise/detail.asp?id=1612186 304 214 464 750 
2005-01-01 16:02:22 GET /Enterprise/detail.asp id=1612186 70.25.29.53 http://www.test.com/searchout.asp 200 17735 369 4656 

我们可以看到,在LOG日志里面的最顶头有一些相关说明,记录开始时间,以及将要记录哪些信息。 
比如#Fields: date time cs-method cs-uri-stem cs-uri-query c-ip cs(Referer) sc-status sc-bytes cs-bytes time-taken 
其中 
date表示记录访问日期; 
time访问时间; 
cs-method表示访问方法,常见的有两种,一是GET,就是平常我们打开一个URL访问的动作,二是POST,提交表单时的动作; 
cs-uri-stem就是访问哪一个文件; 
cs-uri-query是指访问地址的附带参数,如asp文件?后面的字符串id=12等等,如果没有参数则用-表示; 
c-ip访问者IP; 
cs(Referer)访问来源; 
sc-status状态,200表示成功,403表示没有权限,404表示打不到该页面,500表示程序有错; 
sc-bytes服务端传送到客户端的字节大小; 
cs-bytes客户端传送到服务端的字节大小; 
time-taken处理时间。 

利用上面IIS的LOG日志,可以做如下用途: 

一、网站访问统计: 

通过对上面两行的记录,我们可以得知,每当有一个访问,都会相应的有一个记录,为新的一行,统计这些记录,就可以得到一个准确的统计数字了。 
需要注意的地方:LOG日志会把每一次浏览都详细记录,包括如index.asp文件里面的logo.gif等等图片都记录为新的一行。也就是说如果一个页面里面如果使用了10张图片,那同时也会有10个记录产生。如果注意到了这一点,我们就可以做一个更加准确的统计就是过滤文件后缀名了。 
使用程序来分析这些统计会快速准确的多,一个程序的例子如下(C#): 
int count=0; 
public void logparse(){ 
StreamReader sr = new SteamReader("ex050104.log"); 
string line=""; 

while((line=sr.ReadLine())!=null){ 
DoParse(line); 


private void DoParse(string line){ 
this.count++; 

上面的就是一个最简单的统计日志的行数的程序。 

如果要做详细的分析,如:要统计下载量,也就是sc-bytes的总值,就可以做如下改动: 
int downbytes=0; 
private void DoParse(string line){ 
string[] linearr = line.Split(' ');//将一行记录以空格分割开来. 
int bytes = Convert.ToInt32(linearr[8]); //前提是知道一行记录里面字段的位置 
downbytes += bytes; 
this.count++; 

注意日志记录的传送的是以字节记录的,而不是K。 
同样的道理可以分析页面运行的总时间,等等。 

分析点击统计量与来访IP数的区别:一个来访者,可能会在网站上访问多个页面,那就会有多个记录是同一个IP的。那统计那些不重复的IP访问记录,就是来访IP数了。 
怎样不统计那些重复的IP呢?下面只是其中一种方案: 
private void IPParse(string ip){ 
Hashtable iphash = new Hashtable();//使用Hashtable来保存 
if(iphash.ContainsKey(ip)){ //如果已经存在,就加1 
iphash[ip]=(int)iphash[ip]+1; 
}else{ 
iphash.Add(ip,0); //如果没有则新添加 


这样就可以不统计重复的IP,也可以统计同一个IP访问的次数。 
统计访问来源可以使用同上的方法,就可以得到不重复的来源统计了。 


二、分析网站的结构: 

1、首先站长可能比较关心的一点是,到底我的网站里哪一个页面被人点击得最多,同样可以使用IIS的LOG日志来分析,主要分析cs-uri-stem这一字段。 
和分析重复的IP和来源一样,可以统计某一页面的点击量。 

2、分析网站页面出错的页面,主要针对sc-status 
分析主要有哪些页面出错,对网站进一步了解。 

3、分析网站页面的运行时间,主要针对time-taken,可以确定自己的哪一个程序写得不好,导致访问时间过长。 

通过IIS的日志文件可以得到一些我们网站制作者想要的信息,可以进一步检查自己的网站的不足。 
网站统计说到底也就是这么简单,无非就是对日志文件每一行进行简单的统计而已。分析日志文件,您自己也可以做网站统计分析了。有兴趣建立网站的朋友可以登陆时代互联的网站(now.net.cn),他们的空间是提供试用的,速度,功能、稳定上都可以说是一流的,特别是他们前段时间推出的时代互联 Global CDN全球网络镜像及加速引擎,解决了影响互联网传输性能的“第一公里”和“网间互联瓶颈”等各个环节的问题,从而实现跨地区、跨运营商网络加速服务。现购他们的空间都可以送Global CDN网络加速器,具体的可以上他们的网站了解: http://www.jiqiao8.net

免责声明:文章转载自《IIS日志(log)详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ZooKeeper管理员指南——部署与管理ZooKeeper第九节、人脸检测之Haar分类器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用Web存储API存取本地数据

使用Web存储API TODO:本文由 赤石俊哉 翻译整理,您可以将本文自由地用于学习交流。如需用于其他用途请征得作者的同意。 原文链接:Using the Web Storage API - Mozilla Developer Network (英文) Web存储API提供了浏览器可以在本地安全存储键值对的一个机能,它比cookies更为直观。这篇文...

LoadRunner中log的使用总结

LoadRunner中log的使用总结     1、log的设置方式。   在 runtime setting中可以设置log的生成方式:   默认的log方式:   Enable logging选中,log option是Send messages only when an error occurs.   可以修改日志的方式:   Always se...

Mac pycharm更换版本后打不开

1.第一步:先输入:   cd /Applications/PyCharm.app/Contents/MacOS 2.第二步:查看无法打开pycharm的原因,需要输入:c./pycharm 3.第三步:下面就是展示的分析日志:其中许多小伙伴都找不到 网上说的这个地址“cd /Users/用户名/Library/Preferences/PyCharm201...

小程序下拉刷新

  1、通过scroll-view实现   开始用scroll-view组件,通过scroll-view自带的触发下拉刷新、上拉加载事件。   在iOS下,可以正常触发,但在安卓机型下,必须先上滑一段距离再下滑,才能够触发下拉刷新事件,体验不太好。向小程序官方反馈,给我的回答是安卓机型不支持反弹效果。   上图是官网中关于scroll-view的内容,顺...

通过 hexo 生成静态博客

通过 hexo 生成静态博客 背景 在对比了很多博客网站以后,我决定开始慢慢迁移我的文章,以后有时间的话还会搭建自己的网站,目前主流的静态博客生成器有三个: jekyll, hexo, hugo. 静态博客生成器是一种将 文档(主流是markdown 格式)生成静态网站页面文件的工具;当我们再将生成的结果放到page服务上,就可以变为静态博客。 接下来我们...

ELK 企业内部日志分析系统

项目实战14—ELK 企业内部日志分析系统       一、els、elk 的介绍 1、els,elk els:ElasticSearch,Logstash,Kibana,Beats elk:ElasticSearch,Logstash,Kibana ① ElasticSearch 搜索引擎   ElasticSearch 是一个基于Lucene的...