利用awk统计某接口非200状态数量

1. 简介

通过下面的nginx访问日志,统计接口/user/list 非200状态的数量

nginx.access.log
2020-12-30 www.easyswoole.com 127.0.0.1 /user/get 200
2020-12-30 www.easyswoole.com 127.0.0.1 /user/list 200
2020-12-30 www.easyswoole.com 127.0.0.1 /user/list?page=1&page_size=10 200
2020-12-30 www.easyswoole.com 127.0.0.1 /user/list 200
2020-12-30 www.easyswoole.com 127.0.0.1 /user/list 200
2020-12-30 www.easyswoole.com 127.0.0.1 /user/list 301

2. 思路

通过awk拿到状态码一列

$5 代表的就是第五列

➜  akw awk '{printf $5"\n"}' nginx.access.log
200
200
200
200
200
301
判断状态码是否非200
➜  akw awk '{if($5!=200) print $5"\n"}' nginx.access.log
301
状态码非200的输出接口信息
➜  akw awk '{if($5!=200) print $4}' nginx.access.log
/user/list
通过grep将接口过滤
➜  akw awk '{if($5!=200) print $4}' nginx.access.log | grep /user/list
/user/list
通过wc -l 统计行数
➜  akw awk '{if($5!=200) print $4}' nginx.access.log | grep /user/list | wc -l
       1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章