亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

日志統計中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

灵川县| 马边| 宜兴市| 盘锦市| 上蔡县| 偃师市| 常州市| 聂荣县| 泰和县| 金阳县| 大余县| 西充县| 新宾| 宝山区| 诏安县| 开阳县| 怀柔区| 舒城县| 桂东县| 静宁县| 宜川县| 息烽县| 象州县| 北流市| 阿坝县| 邵武市| 朝阳县| 塔城市| 宾川县| 临沂市| 前郭尔| 常德市| 克什克腾旗| 广宗县| 德保县| 衢州市| 曲麻莱县| 黑水县| 竹北市| 屏南县| 青海省|