[apache]用shell分析网站的访问情况

随着网站正式运行,我们可以通过通用的免费日志分析工具比如awstats获得一些实际访问网站的信息,例如每天ip量,pv量,用户所用的的浏览器,用户所用的操作系统等,但是有时候希望通过手工方式从WEB日志文件中获得一些信息,下面列出了一些最近一段时间我经常在用的命令
获得访问前10位的ip地址
cat access.log|gawk ‘{print $1}’ |sort|uniq -c|sort -nr |head -10
访问次数最多的文件或页面
cat access.log|gawk ‘{print $11}’|sort|uniq -c|sort -nr
通过子域名访问次数,依据referer来计算,稍有不准
cat access.log | awk ‘{print $11}’ | sed -e ‘ s/http:\/\///’ -e ‘ s/\/.*//’ | sort | uniq -c | sort -rn | head -20
列出传输大小最大的几个文件
cat www.access.log |awk ‘($7~/\.php/){print $10 ” ” $1 ” ” $4 ” ” $7}’|sort -nr|head -100
列出输出大于200000byte(约200kb)的页面以及对应页面发生次数
cat www.access.log |awk ‘($10 > 200000 && $7~/\.php/){print $7}’|sort -n|uniq -c|sort -nr|head -100
如果日志最后一列记录的是页面文件传输时间,则有列出到客户端最耗时的页面
cat www.access.log |awk ‘($7~/\.php/){print $NF ” ” $1 ” ” $4 ” ” $7}’|sort -nr|head -100
列出最最耗时的页面(超过60秒的)的以及对应页面发生次数
cat www.access.log |awk ‘($NF > 60 && $7~/\.php/){print $7}’|sort -n|uniq -c|sort -nr|head -100
列出传输时间超过 30 秒的文件
cat www.access.log |awk ‘($NF > 30){print $7}’|sort -n|uniq -c|sort -nr|head -20
列出当前服务器每一进程运行的数量,倒序排
ps -ef | awk -F ‘ ‘ ‘{print $8 ” ” $9}’ |sort | uniq -c |sort -nr |head -20

1、查看当天有多少个IP访问:
awk ‘{print $1}‘ log_file|sort|uniq|wc -l
2、查看某一个页面被访问的次数:
grep "/index.php" log_file | wc -l
3、查看每一个IP访问了多少个页面:
awk ‘{++S[$1]} END {for (a in S) print a,S[a]}‘ log_file
4、将每个IP访问的页面数进行从小到大排序:
awk ‘{++S[$1]} END {for (a in S) print S[a],a}‘ log_file | sort -n
5、查看某一个IP访问了哪些页面:
grep ^111.111.111.111 log_file| awk ‘{print $1,$7}‘
6、去掉搜索引擎统计当天的页面:
awk ‘{print $12,$1}‘ log_file | grep ^\"Mozilla | awk ‘{print $2}‘ |sort | uniq | wc -l
7、查看2009年6月21日14时这一个小时内有多少IP访问:
awk ‘{print $4,$1}‘ log_file | grep 21/Jun/2009:14 | awk ‘{print $2}‘| sort | uniq | wc -l
8-------------------------------------------------
[日志分析] shell统计日志客户端ip总流量排序
#linux apache nginx
awk ‘{a[$1]=a[$1]+$10}END{for(i in a)print a/1024/1024"MB",i}‘ access_bbs.linuxtone.org.20110114|sort -nr >ip_tarffic_bbs.linuxtone.org.20110114
#iis
awk ‘{a[$7]=a[$7]+$NF}END{for(i in a)print a/1024/1024"MB",i}‘ access_bbs.linuxtone.org.20110114|sort -nr >ip_tarffic_bbs.linuxtone.org.20110114
特定时间段:
#linux apache nginx
sed -n ‘/\[13\/Jan\/2011\:16\:00\:00/,/\[13\/Jan\/2011\:19\:00\:00/p‘ access_bbs.linuxtone.org.20110114|awk ‘{a[$1]=a[$1]+$10}END{for(i in a)print a[i]/1024/1024"MB",i}‘ |sort -nr >ip_tarffic_bbs.linuxtone.org.20110114_16-18
#iis
sed -n ‘/16\:00\:00/,/19\:00\:00/p‘ access_bbs.linuxtone.org.20110114|awk ‘{a[$7]=a[$7]+$NF}END{for(i in a)print a[i]/1024/1024"MB",i}‘ |sort -nr >ip_tarffic_bbs.linuxtone.org.20110114_16-18

时间: 2024-10-14 08:05:19

[apache]用shell分析网站的访问情况的相关文章

揭秘几种网站被K情况以及背后原因分析

做网站的朋友都希望自己的网站能够获得好的排名,来提高品牌的曝光度,更好的做产品营销.但是有的操作可能会导致网站降权甚至被K,究竟被K的背后原因是什么呢?小编将会根据不同情况为大家逐一揭晓.解析. 网站为什么被K? 网站之所以被K大部分原因是因为被算法打击了,所以本篇文章会围绕搜索引擎的算法展开讲解. 如果您的网站已经被K或者存在明显的降权迹象再或者担心被K,那么希望您能够认真阅读本篇文章,我们会从多个维度去剖析其内在的原因. 网站被K的两种情况 首页被K:用site命令查询之后,显示没有相关数据

实时观察Apache访问情况的工具Apachetop

Linux服务器的负载.进程等信息可以通过top命令查看.而Apache的运转如何实时的观察呢?“tail -f”log文件?这是个好方法,但是太累了! 所以,感谢Chris Elsworth为我们提供了类似top命令的apachetop命令!官网地址:http://www.webta.org/projects/apachetop/ apachetop可以查看最近一段时间和自命令执行以来的apache访问情况,信息包括被访问的文件.次数.流量大小. 命令安装.使用可以查看官网提供的说明:http

以Apache服务器、php语言为例 详解动态网站的访问过程

目前来说,网站页面主要分为静态页面和动态页面,纯静态页面组成的网站现在相对比较少见,大型网站一般使用的是动态网站建站技术,还有一部分网站是静态网页与动态网页共存, 本文以Apache服务器.php语言为例,详解动态网站的访问过程,下面直接切入本文主题. (1)用户端访问服务器端的html文件 S1:通过本机配置好的DNS域名服务器地址寻找DNS服务器,将网站URL中的Web主机域名解析为Web服务器所在的Linux操作系统(Apache通常与Linux操作系统组合使用)中对应的IP地址. S2:

用shell分析nginx日志百度网页蜘蛛列表页来访情况

#!/bin/bash #desc: this scripts for baidunews-spider #date:2014.02.25 #testd in CentOS 5.9 x86_64 #saved in /usr/local/bin/baidu-web.sh #written by [email protected] www.zjyxh.com dt=`date -d "yesterday" +%m%d` if [ $1x != x ] ;then   if [ -e $1

实战:用Hyperic HQ 诊断网站无法访问问题

问题描述 一直采用Hyperic HQ CRP监控 两个网站: www.GoodU.info :   "如是我闻",记录每天不经意间看到的一些好文章,排版简洁,易于阅读,"你永远不知道下一篇是什么类型的文章." www.wongjingwingchun.com: "黄祯咏春会",一个以咏春拳会友的的网站,由黄祯咏春传人免费教习,这里做个广告,欢迎参与. 周末休闲中,突然收到报警邮件,监控的网站无法访问.!!! ? ? ? 环境描述 采用的基本上是

linux awk命令分析http server访问日志

摘抄自http://www.ibm.com/developerworks/ AWK 简介 AWK 是一种"样式扫描和处理语言".它允许您创建简短的程序,这些程序读取输入文件.为数据排序.处理数据.对输入执行计算以及生成报表.它的名称取自于它的创始人 Alfred Aho. Peter Weinberger 和 Brian Kernighan 姓氏的首个字母. 本文论述的 awk 命令主要指 Linux 操作系统中广泛包含的内置程序 /bin/gawk,它是 Unix awk 程序的 G

SElinux解决web网站无法访问

SElinux解决web网站无法访问工具/原料centos 6.5系统httpd web服务器 SELinux 设置为enforcing:强制模式,代表 SELinux 运作中 方法/步骤1. 1setroubleshoot用于把SELinux 的错误讯息与克服方法记录到 /var/log/messages 与 /var/log/setroubleshoot/* 里头,所以一定要启动该服务.所以我们先来安装.输入一下命令安装.# yum install setroubleshoot setrou

如何提高网站的访问速度

很多朋友都用虚拟主机来做网站,将网页文件存放在虚拟空间上,但是页面内容一多,网站打开的速度就显得特别慢,如果您碰到这种情况,与其寻求更好的空间, 不如通过优化网页代码来取得满意的速度.笔者总结了一些切实可行的方法,制作主页时,以下的方法可以令你的网页速度大大提高. 一.记得帮页面减肥 我们浏览网页实际上是将虚拟主机中的网页内容下载到本地硬盘,再用浏览器解释查看的.下载网页的快慢在显示速度上占了很大比重,所以,网页本身所占的 空间越小,那么浏览速度就会越快.这就要求在做网页的时候遵循一切从简的原则

使用 Apache 服务部署静态网站

1.网站服务程序 Web网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务.Apache程序是目前拥有很高市场占有率的Web服务程序之一,其跨平台和安全性广泛被认可且拥有快速.可靠.简单的API扩展.Apache也是RHEL 5.6.7系统中默认的Web服务程序. 第一步:把光盘设备中的系统镜像挂载到 /media/cdrom 目录. 第二步:使用 Vim 编辑器创建 Yum 仓库的配置文件. 第三步:安装 Apache 服务程序.使用yum命令进行安装时,跟在命令后面的Apach