利用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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章