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

使用shell命令分析统计日志

2014-10-24 14:33 351 查看
需要统计用户日志信息,分析出用户行为时,用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 取前十条
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: