转自 http://blog.csdn.net/xingfujie/article/details/7331444
1.1 查看apache连接数
方法一
[root@web10 ~]#netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
LAST_ACK 8
SYN_RECV 1
ESTABLISHED 1747
FIN_WAIT1 12
TIME_WAIT 14208
方法二
netstat -an|grep ESTAB |awk '{print $5}'|cut -d":" -f1|egrep -v "^$"|sort |uniq -c |sort -nr -k1|head -10
1.2 获得访问前10位的ip地址
cat access.log|gawk '{print $1}' |sort|uniq -c|sort -nr |head -10
1.3 访问次数最多的文件或页面
cat access.log|gawk '{print $11}' |sort|uniq -c|sort -nr
1.4 通过子域名访问次数,依据referer来计算,稍有不准
cat access.log | awk '{print $11}' | sed -e's/http:\/\///' -e 's/\/.*//' | sort| uniq -c | sort -rn | head -20
1.5 列出传输最大的几个文件
cat access.log |awk '($7~/\.php/){print $10 " " $1" " $4" " $7}' |sort -nr|head -100
1.6 列出输出大于200000byte(约200kb)的页面以及对应页面发生次数
cat access.log |awk '($10 > 200000 && $7~/\.php/){print$7}' |sort-n|uniq -c|sort -nr|head -100
1.7 如果日志最后一列记录的是页面文件传输时间,则列出到客户端最耗时的页面
cat access.log |awk'($7~/\.php/){print $NF " " $1 " " $4" " $7}'|sort -nr|head -20
1.8 列出最最耗时的页面(超过60秒的)的以及对应页面发生次数
cat access.log |awk '($NF > 60&& $7~/\.php/){print $7}'|sort -n|uniq-c|sort -nr|head -100
1.9 列出传输时间超过 30 秒的文件
cat access.log |awk '($NF > 30){print$7}' |sort -n|uniq -c|sort -nr|head -20
1.10 日志中第10个字段表示连接时间,求平均连接时间
cataccess.log |grep "connect cbp"|awk'BEGIN{sum=0;count=0;}{sum+=$10;count++;}END{printf("sum=%d,count=%d,avg=%f\n",s,m,count,sum/count)}'
1.11 用tcpdump嗅探80端口的访问看看谁最高
[root@web5 ~]# tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20
1.12 查看apache的并发连接数
[root@web5 ~]# netstat -antp|grep 80|grep ESTABLISHED|wc -l
378
1.13 查看apache工作在那种模式下
[root@c26-xcar-bbsweb9 ~]# /opt/apache2/bin/apachectl -l
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_include.c
mod_deflate.c
mod_log_config.c
mod_env.c
mod_expires.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_rewrite.c
mod_so.c
1.14 查看IP访问排名前10名的都在干什么
[root@web5 newcar]# cat access_2012030810.log | sort | uniq -c | sort -nr | head -n 10
cat cookie_log |grep xxx |awk '{print $1}' |sort| uniq -c | sort -k1,1nr
sort: 对单词进行排序
uniq -c: 显示唯一的行,并在每行行首加上本行在文件中出现的次数
sort -k1,1nr: 按照第一个字段,数值排序,且为逆序
head -10: 取前10行数据