博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
awk对php日志进行去重统计排序
阅读量:5876 次
发布时间:2019-06-19

本文共 700 字,大约阅读时间需要 2 分钟。

问题

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

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

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

思路

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

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

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

  4. 对其进行ASCII排序

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

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

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

效果

具体接口路径被隐藏

1000 [REQUEST_URI:/vxxxx/yyy/ssss879 [REQUEST_URI:/xxxx/yyy/ssss878 [REQUEST_URI:/xxxx/yyy/ssss601 [REQUEST_URI:/xxxx/yyy/ssss559 [REQUEST_URI:/xxxx/yyy/ssss490 [REQUEST_URI:/xxxx/yyy/ssss477 [REQUEST_URI:/xxxx/yyy/ssss445 [REQUEST_URI:/xxxx/yyy/ssss394 [REQUEST_URI:/xxxx/yyy/ssss381 [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

转载地址:http://npkix.baihongyu.com/

你可能感兴趣的文章
判断点是否在三角形内
查看>>
Android实战简易教程-第二十三枪(基于Baas的用户注冊验证username是否反复功能!)...
查看>>
在odl中怎样实现rpc
查看>>
leetcode 110 Balanced Binary Tree
查看>>
python活用isdigit方法显示系统进程
查看>>
项目开发总结
查看>>
知行合一
查看>>
jmeter插件之jsonpath提取响应结果和做断言
查看>>
发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner
查看>>
Ubuntu ctrl+alt会导致窗口还原的问题
查看>>
第四十期百度技术沙龙笔记整理
查看>>
推荐系统那点事 —— 基于Spark MLlib的特征选择
查看>>
linux 下RTL8723/RTL8188调试记录(命令行)【转】
查看>>
開始新的征程
查看>>
SpringMVC案例1——对User表进行CRUD操作
查看>>
看雪CTF第十四题
查看>>
模拟生命_吸烟致癌?
查看>>
[Contiki系列论文之1]Contiki——为微传感器网络而生的轻量级的、灵活的操作系统...
查看>>
Android 网络编程 记录
查看>>
微软同步发行Windows 10和Windows 10 Mobile系统更新
查看>>