[转] Apache日志分析常用Shell命令

转载自: http://www.chajian8.com/233.html

1、查看apache进程:

1 ps aux | grep httpd | grep -v grep wc -l

2、查看80端口的tcp连接:

1 netstat -tan | grep "ESTABLISHED" grep ":80" wc -l

3、通过日志查看当天ip连接数,过滤重复:

1 cat access_log | grep "20/Oct/2008" awk '{print $2}' sort uniq -c | sort -nr

4、当天ip连接数最高的ip都在干些什么(原来是蜘蛛):

1 cat access_log | grep "20/Oct/2008:00" grep "122.102.7.212" awk '{print $8}' sort uniq -c | sort -nr | head -n 10

5、当天访问页面排前10的url:

1 cat access_log | grep "20/Oct/2008:00" awk '{print $8}' sort uniq -c | sort -nr | head -n 10

6、用tcpdump嗅探80端口的访问看看谁最高:

1 tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' sort uniq -c | sort -nr

接着从日志里查看该ip在干嘛:

1 cat access_log | grep 122.102.7.212| awk '{print $1"\t"$8}' sort uniq -c | sort -nr | less

7、查看某一时间段的ip连接数:

1 grep "2006:0[7-8]" www20060723.log | awk '{print $2}' sort uniq -c| sort -nr | wc

8. 查看已经有多少个php-cgi进程用来处理tcp请求

netstat -anop |grep "php"|grep -v "grep"|wc -l

1个Nginx进程占用11M物理内存,5个php-cgi进程每个占用8M左右物理内存,1个MySQL服务器占用7M物理内存 

posted on 2012-06-10 14:07  DavidYanXW  阅读(194)  评论(0编辑  收藏  举报