91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

日志統計中awk常見的運用

發布時間:2020-07-20 09:22:15 來源:網絡 閱讀:1381 作者:竹弦月 欄目:網絡安全

前言首先awk是一門語言,其次跟其他語言相比,awk的優勢是在文本處理、數值計算等方面,在我們日常的運維工作中,awk還有1個很重要的場景是配合sed、grep的使用,正是因為這些,awk是運維工程師最常用的工具之一,下面記錄一下,awk在日志收集、統計場景的一些最常用的姿勢。


awk使用格式

awk [-F value] [-v var=value] 'program text' [files....]
program text:
     BEGIN {actions}/pattern/{actions}END{actions}
內置變量
    
FS--Field Separator:域的分隔符,默認的是以空白符分隔
    
RS--Record Separator 記錄的分隔符,默認是以換行符來分隔
    
FILENAME -- current filename
                   NF -- Number of
Feilds in current record,域的個數
    
NR -- Number of Record 輸入的記錄數,相當于行號一樣,多個文件時會接著遞增
    
FNR -- File Number of Record 輸入的當前記錄數,每個文件單獨計算
    
$0 -- the whole record  當前整個記錄
    
$n -- the nth field of the current record 當前記錄的第n個域


awk常用函數

1、split (string, array, field separator)

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

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

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



awk擴展使用

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

修飾符:
N:顯示寬度
-:左對齊
+:顯示數值符號


1,統計squid日志中各個狀態碼所占的百分比

# 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,統計squid日志中訪問次數前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,統計最近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的域名請求數top10統計

# 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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜昌市| 惠水县| 故城县| 北京市| 舒兰市| 彭水| 孟州市| 辽阳县| 旅游| 繁昌县| 平昌县| 克拉玛依市| 贵溪市| 蓝山县| 阿坝县| 南涧| 崇信县| 阿荣旗| 梅河口市| 景德镇市| 缙云县| 乳山市| 溧阳市| 栖霞市| 丹东市| 府谷县| 师宗县| 光泽县| 明星| 襄城县| 西乌珠穆沁旗| 南康市| 银川市| 玉山县| 新和县| 滁州市| 西宁市| 晋城| 南乐县| 张家川| 九龙城区|