首页 > 脚本编程 > apache简单的日志分析脚本
您的足迹
  • 你没有浏览过任何文章或者你没有开启cookies。

apache简单的日志分析脚本

# 查看80端口的tcp连接(当前的并发连接数) 
netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l 
netstat -an | grep 80 | awk '{print $6}' | sort | uniq -c | sort -rn
# 通过日志查看当天每个IP访问网站的次数 
cat access.log | grep "13/Jul/2012" | awk '{print $1}' | sort | uniq -c | sort -nr 
# 当天ip连接数最高的ip都访问了哪些URL, 按访问次数最多的URL倒序排序取前10行 
cat access.log | grep "13/Jul/2012" | grep "112.97.30.1" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10 
#列出时间段ip流量
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
# 当天访问页面排前10的url 
cat access.log | grep "13/Jul/2012" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10 
# 查看当天的7-8点有多少IP访问过网站 
grep "2012:0[7-8]" access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l 
# 查看每个apache进程所占用的资源多少 
ps -aux | grep -e "httpd" -e "USER"
实时查看apache并发连接数
watch -n 1 -d "pgrep httpd|wc -l" 
# 查看服务器没有返回200的记录 
cat access.log | awk '{print $(NF-1)}' | grep -v "200" | wc -l 
# 没有返回的200的错误代码是多少 出现过几次 
cat access.log | awk '{print $(NF-1)}' | grep -v "200" | sort | uniq -c 
计算单个apache进程所消耗的内存(KB)
ps aux|grep -v grep|awk '/httpd/{sum+=$6;n++};END{print sum/n}' 
# 查看错误时代码所对应的URL是什么取前十条 
cat access.log | awk '/" 404/' | awk '{print $7}' | head 
应付DOS攻击
# 查看当前等待apache处理的连接的IP,以及每个IP的数量,因为DOS攻击会造成大量连接等待,所以可以通过此条命令确定有问题的IP
netstat -an|grep SYN_RECV|awk '{print $5;}'|awk -F: '{print $1;}'|sort| uniq -c | sort -nr

相关博文

  1. 还没有评论
评论提交中, 请稍候...

留言

可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks
Feed