关于web日志访问
根据访问IP统计UV
awk '{print $1}' access.log|sort | uniq -c |wc -l
统计访问URL统计PV
awk '{print $7}' access.log|wc -l
查询访问最频繁的URL
awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more
查询访问最频繁的IP
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more
根据时间段统计查看日志
sed -n access.log '/14\/Mar\/2015:21/,/14\/Mar\/2015:22/p'|more
状态码个数统计
awk '{print $9}' file |sort |grep 状态码 |wc -l
关于计数
wc
wc -l
wc -w
#统计指定文件中的字数 并将统计结果显示输出
#适用场景你们想下,比如写主从监控脚本,输出内容要有几个yes才算达标?
grep
grep -c
#只输出匹配行的计数
#我测试了下,grep -c 对于大文件比awk+wc -l组合统计出结果的速度较快,后者因为是两个命令吗,可能要计算两次,小可爱们可以试一下
- 用法:
[root@10-254-182-240 ~]# egrep -c "\##" 9999999.txt
30
统计字符串的个数
awk '{s+=gsub(/字符串/,"&")}END{print s}' file
awk -v RS="@#$j" '{print gsub(/字符串/,"&")}' file
grep -o '字符串' file |wc -l
网络情况
一览?
netstat -n |grep ^tcp |awk '{print $6}' |sort |uniq -c| sort -n -k 1 -r
580 ESTABLISHED
62 TIME_WAIT
38 FIN_WAIT2
16 FIN_WAIT1
4 LAST_ACK
3 CLOSE_WAIT
当前并发数?
root@front:~# netstat -n |grep ^tcp |awk '{print $6}' |sort |uniq -c| sort -n -k 1 -r |grep ESTAB |awk '{print $1}'
599
一些解释
ESTABLISHED //正常数据传输状态/当前并发连接数
FIN_WAIT2 //另一边已同意释放
ITMED_WAIT //等待所有分组死掉
CLOSING //两边同时尝试关闭
TIME_WAIT //另一边已初始化一个释放
LAST_ACK //等待所有分组死掉