当快软件园-绿色软件下载,电脑软件下载,安卓应用下载,手机软件下载,苹果软件下载,绿色软件下载基地
TAG标签| 网站地图| 设为首页| 加入收藏
当前位置:当快软件园 > 软件下载 > 网络软件 >

Apache|Nginx日志分析工具

类型:网络软件

语言:中文

更新:2025-03-23 15:14

大小:535KB

版本:

平台:WinAll, Win7

标签:Nginx日志分析Apache日志分析

  • 软件介绍
  • 软件截图
  • 相关下载

非常简单就是分割字符串而已,可查询含有某些字符的项目,比如 baidu.,
也可以用模式匹配语法 比如如此 404.*?baidu
PS:发现apache的日志也是可以用的。

awstats中, unique visitor 是依据IP来计算的,所以awstats中统计的UV值,即是IP值。
webtrends中, 也有对UV的统计,不过webtrends也是有JS统计代码的,所以,它的统计原理跟大多数统计代码都一样,通过JS获得推广客户端的cookie来计算UV值。

查询并询问了一些关于谷歌分析计算UV数的算法,谷歌分析对于独立访客的计算,是基于访客浏览器中cookie来确定的,当访客首次(或cookie丢失后)访问添加GATC的代码时,便会创建一个唯一的cookie(即一个UV),cookie中utma变量记录了访客ID、访问次数、访问时间等信息,UV数以此累加。当访客丢失cookie或更换浏览器重新访问网站,都将会被觉得新访客,而创建一个cookie,记录为一个新的UV。

apache日志剖析:

以下内容也是一些关于apache日志剖析的东东,记录下来。

1.什么是UV?
UV是unique visitor的简写,是指独立访客,是以实质访问的电脑计数。
2.什么是IP?
IP是国际网络协议的简称,是通过互联网间信息地址定位具体计算机的方法之一。
3.UV和IP的定义的不同之处?
对于IP来讲,它在同一级别的互联网范围内是唯一的,同一局域网内的所有电脑都只有一个一同ip。
举例来讲,我在一个局域网里,对外的IP是219.129.170.111,那样跟我同一局域网里的所有电脑都是这个IP,也就是说倘若整个局域网的电脑都访问你的网站的话,在24小时内也只计算一个IP,所以相对UV来讲不是非常精准。
而UV跟IP稍有不同,UV是访问你的网站的每一台电脑推广客户端。目前不少朋友用的互联网都是局域网,引入了UV后,就能更精准的统计。
总结:
UV的统计数比IP更为准确,可以准确的计数每一台访问电脑,而IP把同一局域内的所有电脑视为一个。

上次因工作的需要对一台apache的log做了一次整体的剖析,所以顺便也对apache的日志剖析做下简单的介绍,主要参考apache官方网站的Log Files,手册参照 http://httpd.apache.org/docs/2.2/logs.html

1、日志剖析
假如apache的安装时使用默认的配置,那样在/logs目录下就会生成两个文件,分别是access_log和error_log
1.access_log
access_log为访问日志,记录所有对apache服务器进行请求的访问,它的地方和内容由CustomLog指令控制,LogFormat指令可以用来简化该日志的内容和格式
比如,我的其中一台服务器配置如下

CustomLog “| /usr/sbin/rotatelogs /var/log/apache2/%Y_%m_%d_other_vhosts_access.log 86400 480″ vhost_combined

-rw-r–r– 1 root root 22310750 12-05 23:59 2010_12_05_other_vhosts_access.log
-rw-r–r– 1 root root 26873180 12-06 23:59 2010_12_06_other_vhosts_access.log
-rw-r–r– 1 root root 26810003 12-07 23:59 2010_12_07_other_vhosts_access.log
-rw-r–r– 1 root root 24530219 12-08 23:59 2010_12_08_other_vhosts_access.log
-rw-r–r– 1 root root 24536681 12-09 23:59 2010_12_09_other_vhosts_access.log
-rw-r–r– 1 root root 14003409 12-10 14:57 2010_12_10_other_vhosts_access.log

通过CustomLog指令,天天一天生成一个独立的日志文件,同时也写了定时器将一周前的日志文件全部清除,如此可以看上去更明确,既能够离别每一天的日志又可以清除肯定时间以前的日志通过制,LogFormat概念日志的记录格式

LogFormat “%h %l %u %t \”%r\” %s %b \”%{Referer}i\” \”%{User-Agent}i\” combined
LogFormat “%{X-Forwarded-For}i %l %u %t \”%r\” %s %b \”%{Referer}i\” \”%{User-Agent}i\” combinedproxy
LogFormat “%h %l %u %t \”%r\” %s %b” common
LogFormat “%{Referer}i - %U” referer
LogFormat “%{User-agent}i” agent

随便的tail一个access_log文件,下面是一条经典的访问记录

218.19.140.242 – - [10/Dec/2010:09:31:17 +0800] “GET /query/trendxml/district/todayreturn/month/2009-12-14/2010-12-09/haizhu_tianhe.xml HTTP/1.1″ 200 1933 “-” “Mozilla/5.0 Gecko/20100722 Firefox/3.6.8 ”

一共是有9项,将他们一一拆开

218.19.140.242
-
-
[10/Dec/2010:09:31:17 +0800]
“GET /query/trendxml/district/todayreturn/month/2009-12-14/2010-12-09/haizhu_tianhe.xml HTTP/1.1″
200
1933
“-”
“Mozilla/5.0 Gecko/20100722 Firefox/3.6.8 ”

1)218.19.140.242这是一个请求到apache服务器的推广客户端ip,默认的状况下,第一项信息只不过远程主机的ip地址,但大家假如需要apache查出主机的名字,可以将 HostnameLookups设置为on,但这种做法是不推荐用,由于它大大的减缓了服务器.另外这里的ip地址未必就是顾客主机的ip地址,假如 推广客户端用了代理服务器,那样这里的ip就是代理服务器的地址,而不是原机.

2) -这一项是空白,用”-”来代替,这个地方是用于标注访问者的标示,这个信息是由identd的推广客户端存在,除非IdentityCheck为on,非则apache是不会去获得该部分的信息
The “hyphen” in the output indicates that the requested piece of information is not available. In this case, the information that is not available is the RFC 1413 identity of the client determined by identd on the clients machine. This information is highly unreliable and should almost never be used except on tightly controlled internal networks. Apache httpd will not even attempt to determine this information unless IdentityCheck is set to On.

3) -这一项又是为空白,不过这项是用户记录用户HTTP的身份验证,假如某些网站需要用户进行身份雁阵,那样这一项就是记录用户的身份信息

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

5) “GET /..haizhu_tianhe.xml HTTP/1.1″这一项整个记录中最有用的信息,第一,它告诉大家的服务器收到的是一个GET请求,第二,是推广客户端请求的资源路径,第三,推广客户端用的协议时HTTP/1.1,整个格式为”%m %U%q %H”,即”请求办法/访问路径/协议”

6) 200这是一个状况码,由服务器端发送回推广客户端,它告诉大家推广客户端的请求是不是成功,或者是重定向,或者是碰到了哪种错误,这项值为200,表示服务器已经成 功的响应了推广客户端的请求,通常来讲,这项值以2开头的表示请求成功,以3开头的表示重定向,以4开头的标示推广客户端存在某些的错误,以5开头的标示服务器端 存在某些错误,详细的可以参见 HTTP specification .[http://www.w3.org/Protocols/rfc2616/rfc2616.txt]

7) 1933这项表示服务器向推广客户端发送了多少的字节,在日志剖析统计的时侯,把这类字节加起来就能得知服务器在某点时间内总的发送数据量是多少

8) -暂不知

9) “Mozilla/5.0 Gecko/20100722 Firefox/3.6.8 ”这项主要记录推广客户端的浏览器信息

2.error_log
error_log为错误日志,记录下任何错误的处置请求,它的地方和内容由ErrorLog指令控制,一般服务器出现什么错误,第一对它进行查阅,是一个非常重要的日志文件

tail error_log,随便摘取一个记录

[Fri Dec 10 15:03:59 2010] [error] [client 218.19.140.242] File does not exist: /home/htmlfile/tradedata/favicon.ico

同样也是分为几个项

[Fri Dec 10 15:03:59 2010]
[error]
[client 218.19.140.242]
File does not exist: /home/htmlfile/tradedata/favicon.ico

1) [Fri Dec 10 15:03:59 2010]记录错误发生的时间,注意,它跟大家上面access_log记录的时间格式是不一样的

2) [error]这一项为错误的级别,依据LogLevel指令来控制错误的类别,上面的404是是error级别

3) [client 218.19.140.242]记录推广客户端的ip地址

4) File does not exist: /home/htmlfile/tradedata/favicon.ico这一项第一对错误进行了描述,比如推广客户端访问一个没有或路径错误的文件,就会给出404的提示错误

2、好用的日志剖析脚本
知道日志的各种概念后,这里推荐一下从网上淘来的一些对日志剖析的脚本

1.查询apache的进程数
ps -aux | grep httpd | wc -l

2.剖析日志查询当天的ip连接数
cat default-access_log | grep “10/Dec/2010″ | awk ‘{print $2}’ | sort | uniq -c | sort -nr

3.查询指定的ip在当天到底访问了什么url
cat default-access_log | grep “10/Dec/2010″ | grep “218.19.140.242″ | awk ‘{print $7}’ | sort | uniq -c | sort -nr

4.查询当天访问排名前10的url
cat default-access_log | grep “10/Dec/2010″ | awk ‘{print $7}’ | sort | uniq -c | sort -nr | head -n 10

5.看到指定的ip到底干了什么
cat default-access_log | grep 218.19.140.242 | awk ‘{print $1″\t”$8}’ | sort | uniq -c | sort -nr | less

6.查询访问次数最多的几个分钟
awk ‘{print $4}’ default-access_log |cut -c 14-18|sort|uniq -c|sort -nr|head

3、用awstats自动剖析日志
当然啦,假如想最简单和最直观的剖析日志还是用工具,目前网上较时尚的工具是awstats,一个基于perl的web日志剖析工具,功能非常强大也支持IIS等服务器

TAG标签:Nginx日志分析(1)Apache(1)日志分析(1)

转载请说明来源于当快软件园(https://www.lrvxg.com)

本文地址:https://www.lrvxg.com/soft/5056.html

郑重声明:文章来源于网络作为参考,本站仅用于分享不存储任何下载资源,如果网站中图片和文字侵犯了您的版权,请联系我们处理!邮箱3450399331@qq.com