统计打印localhost_access_log.20150218-20.txt.gz中单次访问超过500ms的请求数(friends_timeline.json接口)
zcat localhost_access_log.20150218-20.txt.gz|awk -F ' ' '{if($3>500)print$0}'|grep friends_timeline.json|wc -l
查找当前目录下包含'sh'字符的文件(这个命令可以穿透jar包去查找jar包内是否有包含这个字符的文件)
find .|xargs grep -i 'propertyPlaceholderConfigurer'
端口占用命令检测
netstat-anpt|grep -w 8091
查询中项目中哪些jar中包含configloader.xml文件
for i in * ; do jar -tvf $i | grep configloader.xml && echo $i; done
查看目前连接11190端口的机器数
netstat -nat |grep 11190 -c
查看java线程数
ps -eLf|grep java -c
查看系统流量
cat /proc/net/dev
查看系统负载
cat /proc/loadavg
查看系统内存情况
cat /proc/meminfo
查看CPU使用情况
cat /proc/meminfo
============access.log nginx=============常用shell命令汇总
查看访问应用的ip总数
awk '{print $1}' access.log|sort|uniq|wc -l
统计出某个IP的访问总次数
grep "172.17.2.226" access.log | wc -l
统计出每个IP的访问次数
awk '{++S[$1]} END {for (a in S) print a,S[a]}' access.log > log.txt
sort -n -t ' ' -k 2 log.txt
awk '{++S[$1]} END {for (a in S) print S[a],a}' access.log | sort -n
统计某个IP访问了哪些接口
grep ^172.17.3.68 access.log| awk '{print $1,$7}'
统计2006/1/30号11点访问系统的IP数
awk '{print $4,$1}' access.log | grep 30/Jan/2016:11 | awk '{print $2}'| sort | uniq | wc -l
查看访问前十个ip地址
awk '{print $1}' access.log|sort|uniq -c|sort -nr |head -10 # uniq -c 相当于分组统计并把统计数放在最前面
访问次数最多的10个接口
cat access.log|awk '{print $7}'|sort|uniq -c|sort -nr | head -10
访问reffer前10
cat access.log | awk '{print $11}' | sed -e ' s/http:\/\///' -e ' s/\/.*//' | sort | uniq -c | sort -rn | head -20
列出传输字节最大的几个接口 $10是字节数
cat access.log |awk '{print $10 " " $1 " " $4 " " $7}'|sort -nr|head -100
如果日志最后一列记录的是接口响应时间,则列出到客户端最耗时的接口 (默认没有响应时间,需要在nginx.conf中配置log_format http://hxl2009.blog.51cto.com/779549/869652)
cat access.log | awk '{print $NF" "$1" "$4" "$7}' | sort -nr|head -100
查询出某个时间段里访问次数最多的10个ip
cat access.log | egrep '29/Jan/2016|30/Jan/2016' |awk '{print $1}'|sort|uniq -c|sort -nr|head -10
# 统计网站流量(G)
cat access.log |awk '{sum+=$10} END {print sum/1024/1024/1024}
# 统计http status.
cat access.log |awk '{counts[$(9)]+=1}; END {for(code in counts) print code, counts[code]}'
# 统计404的连接
awk '($9 ~/404/)' access.log | awk '{print $9,$7}' | sort
统计每秒的并发量
awk '{if($9~/200|30|404/) COUNT[$4]++} END{ for( a in COUNT) print a,COUNT[a]}' access.log|sort -k 2 -nr|head -n10
找出某天访问次数最多的10个IP
cat access.log | grep "30/Jan/2016" |awk '{print $1}'|sort |uniq -c|sort -nr|head
# 当天ip连接数最高的ip都在干些什么:
cat access.log | grep "172.17.2.210" | awk '{print $7}' | sort | uniq -c | sort -nr | head -n 10
#查看linux版本信息
lsb_release -a