资讯专栏INFORMATION COLUMN

awk对php日志进行去重统计排序

IamDLY / 1676人阅读

摘要:问题查看所有服务器日志频繁刷新无法快速定位问题每次都需要按来终止刷新,查看历史日志无法确定日志的报错数量的分布,来自哪个接口或者服务思路通过命令,执行方法切分当前行的日志拆分后得到,就是最后的接口地址然后对其进行之后的参数拆分,因为我们只需

问题

查看所有服务器日志频繁刷新无法快速定位问题

每次都需要按ctrl+c来终止刷新,查看历史日志

无法确定日志的报错数量的分布,来自哪个接口或者服务

思路

通过awk命令,执行split方法切分当前行的日志

拆分后得到a[NF],就是最后的接口地址

然后对其进行?之后的参数拆分,因为我们只需要接口地址,不关心参数

对其进行ASCII排序

uniq -c去重,并且统计数量

sort -n -r按照数字来进行排序,并且倒序

获取报错数量最多的前十个

效果

具体接口路径被隐藏

1000 [REQUEST_URI:/vxxxx/yyy/ssss
879 [REQUEST_URI:/xxxx/yyy/ssss
878 [REQUEST_URI:/xxxx/yyy/ssss
601 [REQUEST_URI:/xxxx/yyy/ssss
559 [REQUEST_URI:/xxxx/yyy/ssss
490 [REQUEST_URI:/xxxx/yyy/ssss
477 [REQUEST_URI:/xxxx/yyy/ssss
445 [REQUEST_URI:/xxxx/yyy/ssss
394 [REQUEST_URI:/xxxx/yyy/ssss
381 [REQUEST_URI:/xxxx/yyy/ssss
代码实现
tail -n 100 /var/log/error/web*  |grep -v "==>"| awk "{split($0,a," ");split(a[NF],b,"?");print(b[1])}"|sort|uniq -c  | sort -n -r | head -n 10

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23178.html

相关文章

  • shell在手分析服务器日志不愁?

    摘要:自己的小网站跑在阿里云的上面偶尔也去分析分析自己网站服务器日志看看网站的访问量。然后统计最终返回的数字就是当前所有端口的已建立连接的总数。 自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1、查看有多少个IP访问: awk {print $1} log_file|sor...

    fyber 评论0 收藏0

发表评论

0条评论

IamDLY

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<