您的位置:首页 > 运维架构 > Shell

使用shell命令分析统计日志

2015-08-18 14:17 543 查看
用户需要登录统计信息,当分析用户行为,使用shell通常可以很容易地取出了大量的数据。删除,然后放入excel统计。

例如:统计日志含有loadCustomProcess这个地址的訪问,按訪问耗时排序:

grep "loadCustomProcess" /home/workflow/socket.txt | awk -F " " '{print $11}'|awk -F ":" '{print $2}'|sort -nr

查询出现“INFO",出现量前10的记录:

grep "INFO" /usr/share/tomcat6/logs/flowplatform.log| awk -F " " '{print $8}'|sort |uniq -c|sort -nr

解析:

grep "loadCustomProcess" /home/workflow/socket.txt 找出文件/home/workflow/socket.txt中包括loadCustomProcess的行

uniq -c:统计连续出现的次数(注意是连续),因此在uniq -c前需先用sort才干有sql中count的效果

awk SQL语句中的SELECT字段,“-F " "”表示依照空格对每行数据进行分隔,得到的每一个单元就是一个字段。而“$7”就是第七个字段,假设取第7、8两个字段,而且两个字段用tab号隔开。则'{print $7"\t"$8}'

sort 把结果排序,为后面的汇总做准备,

sort -nr 是依照数值大小倒序排列,相当于SQL中的ORDER BY ... DESC,

head -10 就拿前十
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: