1. 程式人生 > >shell日誌分析進階篇

shell日誌分析進階篇

  前面我們說了shell分析日誌常用指令,現在我們隨ytkah一起看看shell日誌分析進階篇,假設日誌檔案為ytkah.log

//統計不重複抓取數量

cat ytkah.log | awk '{print $4}'|sort|uniq|wc -l

 

//統計所有狀態碼數量

awk '{print $10}' ytkah.log |sort|uniq -c

  

//統計某個目錄抓取次數

grep "/shop" ytkah.log | awk '{print $4}' |sort |wc –l

  

//統計各個目錄出現404響應碼次數

cat ytkah.log |awk 'BEGIN{FS="/| "} {if($(NF-2)==404){print $5,$(NF-2)}}' |sort|uniq -c | sort -r

  

//統計404頁面的抓取數量

awk '{if($10=="404"){print $0}}' ytkah.log|sort|uniq|wc -l

  

//統計每個ip下對應URL的抓取次數

awk '{print $6,$4}' ytkah.log |sort|uniq –c

  

//提取百度蜘蛛訪問數量前10的網站目錄及訪問次數,並按降序排列

awk '{print $4}' ytkah.log |grep -P "[^/(a-zA-Z)|^/(a-zA-Z)/]"|awk -F"/" '{print $2}'|sort|uniq -c|sort -r|head -10

  

//提取某個目錄百度蛛蛛訪問次數

cat ytkah.log | grep "/shop/"| wc –l
cat ytkah.log |awk '{print $4}' |grep "/shop/" |wc –l
cat ytkah.log |awk '{print $4} |awk –F"/" '{print $2}'|grep "shop"|wc -l

  

//統計首頁抓取的次數佔總體抓取次數比率

cat ytkah.log |awk '{print $4}'|awk '{if($0=="/"){n=n+1}}END{print n/NR*100"%"}'

  

//統計404響應碼佔總響應碼比率

cat ytkah.log |awk '{print $10}'|awk '{if($0=="404"){n=n+1}}END{print n/NR*100"%"}'

  

//計算百度抓取總時間與總抓取次數

cat ytkah.log|awk '{FS=" "} {print $2}'|awk -F":" '{print $2}'| sort |uniq -c|awk 'BEGIN{print "小時","次數"} {print $2,$1}'|awk '{for(n=0;n<5;n++){b=$2}} {a+=b} {print $0}END{print "總數"b,a}'

  

//計算百度抓取總位元組數

cat ytkah.log |awk '{print $11}'|awk 'BEGIN{total=0}{total+=$1}END{print total}'

  

//計算平均每次每個網頁抓取位元組數(小數點後面大於5進1)

cat ytkah.log |awk '{print $11}'|awk 'BEGIN{total=0}{total+=$1}END{print total/NR}'