日志統(tǒng)計(jì)中awk常見的運(yùn)用

前言首先awk是一門語言,其次跟其他語言相比,awk的優(yōu)勢(shì)是在文本處理、數(shù)值計(jì)算等方面,在我們?nèi)粘5倪\(yùn)維工作中,awk還有1個(gè)很重要的場景是配合sed、grep的使用,正是因?yàn)檫@些,awk是運(yùn)維工程師最常用的工具之一,下面記錄一下,awk在日志收集、統(tǒng)計(jì)場景的一些最常用的姿勢(shì)。

10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有陳巴爾虎免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

awk使用格式

awk [-F value] [-vvar=value] 'program text' [files....]
program text:
     BEGIN {actions}/pattern/{actions}END{actions}
內(nèi)置變量
    FS--Field Separator:域的分隔符,默認(rèn)的是以空白符分隔
    RS--Record Separator記錄的分隔符,默認(rèn)是以換行符來分隔
    FILENAME -- current filename
                   NF -- Number ofFeilds in current record,域的個(gè)數(shù)
    NR -- Number of Record輸入的記錄數(shù),相當(dāng)于行號(hào)一樣,多個(gè)文件時(shí)會(huì)接著遞增
    FNR -- File Number of Record輸入的當(dāng)前記錄數(shù),每個(gè)文件單獨(dú)計(jì)算
    $0 --the whole record 當(dāng)前整個(gè)記錄
    $n -- the nth field of the current record當(dāng)前記錄的第n個(gè)域

awk常用函數(shù)

1、split (string, array, field separator)

2、substr(s,p,n) 返回字符串s中從p開始長度為n的后綴部分

3、 length函數(shù)返回沒有參數(shù)的字符串的長度

4、gsub(regular expression, subsitutionstring, target string)

awk擴(kuò)展使用

awk[options] 'script' FILES
選項(xiàng)
-F:字段分隔符
-v:聲明一個(gè)變量,F(xiàn)S=:
awk'{print $1 $2}' a.txt:則顯示welcometo
awk'{print $1,$2}' a.txt:則顯示wlecometo
--------------
內(nèi)置變量
    ORS
     OFS
     FS
     RS
     NR
     NF
     FNR
     ARGV:數(shù)組,保存命令行本身這個(gè)字符串,如awk'{print $0}' a.txt b.txt
         這個(gè)命令中,ARGV[0]保存awk,ARGV[1]保存a.txt
    ARGC:awk命令的參數(shù)個(gè)數(shù)
----------------
printf命令的使用格式
    printfformat,item1
要點(diǎn):
1、其與print命令最大的不同是,printf需要指定format
2、format用于指定后面的每個(gè)item的輸出格式
3、printf語句不會(huì)自動(dòng)打印換行符
format格式的指示符:
%c:顯示字符的ASCII
%d,%i:十進(jìn)制的整數(shù)
%e,%E:科學(xué)計(jì)數(shù)法顯示數(shù)值
%f:顯示浮點(diǎn)數(shù)
%g,%G:以科學(xué)計(jì)數(shù)法的格式或浮點(diǎn)數(shù)的格式顯示數(shù)值
%s:顯示字符串
%u:無符號(hào)整數(shù)
%%:顯示%自身

修飾符:
N:顯示寬度
-:左對(duì)齊
+:顯示數(shù)值符號(hào)

1,統(tǒng)計(jì)squid日志中各個(gè)狀態(tài)碼所占的百分比

# cat /usr/local/squid/var/logs/access.log | awk 'BEGIN{print "status code","\t""rate"}{count+=1;a[$9]+=1}END{for(i in a) print i,"\t",a[i]/count*100}' | sort -nk2
status code 	rate
400 	 0.00412448
416 	 0.00412448
478 	 0.00412448
204 	 0.00618672
401 	 0.0268091
0 	 0.0659916
301 	 0.0763028
302 	 0.787775
404 	 2.19628
403 	 2.66441
206 	 5.02567
304 	 17.7043
200 	 71.4339

2,統(tǒng)計(jì)squid日志中訪問次數(shù)前10的域名

]# cat /usr/local/squid/var/logs/access.log | awk 'BEGIN{print "domain","\t","rate"}{count+=1;a[$2]+=1}END{for(i in a){print i,"\t",a[i]}}' | sort -nk2 | tail
bsy.pp.starschinalive.com 	 125
js1.pcfg.cache.wpscdn.cn 	 131
portal.wsds.cn 	 162
vas.fun.tv 	 173
img.funshion.com 	 238
www.duba.com 	 277
plugin.video.51togic.com 	 280
p1.meituan.net 	 286
res.qxz.37wan.com 	 306
d.ifengimg.com 	 481

3,統(tǒng)計(jì)最近5分鐘的流量

日志:27.156.95.175 uc.a.yximgs.com "p_w_picpath/webp" [25/Dec/2016:22:17:01 +0800] "GET http://uc.a.yximgs.com/upic/2016/11/27/11/BMjAxNjExMjcxMTIxMTNfODY2MTM1NV8xMzAxODgwMDQ4XzJfMw==_low.webp?tag=1-1482675421-f-0-8a7txqz36n-ce40124930229f39 HTTP/1.1" 200

cat /usr/local/squid/var/logs/access.log | awk '{i=int(substr($4,17,2)/5)*5;h=substr($4,14,2);s[h":"i]+=$10;}END{for(i in s)print i,s[i]*8/1024/1024/300"Mbps"}'
21:50 143.537Mbps

4,MISS的域名請(qǐng)求數(shù)top10統(tǒng)計(jì)

# cat /usr/local/squid/var/logs/access.log | awk '{n+=1;if($0~/MISS/)a[$2]+=1}END{for(i in a){print i,a[i],a[i]/n*100}}' | sort -nrk2  | head
www.duba.com 237 0.868291
p1.meituan.net 163 0.597179
pas.suning.com 66 0.241803
shopping.suning.com 55 0.201502
77g4l9.com5.z0.glb.qiniucdn.com 55 0.201502
res.qxz.37wan.com 50 0.183184
review.suning.com 41 0.150211
static.1sapp.com 32 0.117238
s1.vas.wpscdn.cn 30 0.10991
fs.ios.kugou.com 25 0.0915919

網(wǎng)站名稱:日志統(tǒng)計(jì)中awk常見的運(yùn)用
文章網(wǎng)址:http://bm7419.com/article26/gegdcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、自適應(yīng)網(wǎng)站標(biāo)簽優(yōu)化、App設(shè)計(jì)、面包屑導(dǎo)航、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管