亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

日志結(jié)構(gòu)分析

Linux 日志分析實戰(zhàn)

分析日志狀態(tài)碼所在位置為第九個

遍歷取出第一行日志的每個字段

取出第一行日志



awk 'NR==1{for(i=1;i<=NF;i++)print i"= "$i}' Nginx.log 
Linux 日志分析實戰(zhàn)

 

for循環(huán)取出每個字段
awk 'NR==1{for(i=1;i<=NF;i++)print i"= "$i}' nginx.log 
Linux 日志分析實戰(zhàn)

 

練習1

找出所有404和500的錯誤日志,統(tǒng)計錯誤日志的行數(shù)

使用正則篩選出404 和500的類型的狀態(tài)碼,管道拼接統(tǒng)計總個數(shù)
完整命令 :cat nginx.log | awk '{print $9}' | grep -E '404|500'|wc -l
解法2:
使用awk 直接匹配第九個是400/500的狀態(tài)碼的值,awk 理論上可以替代grep awk 'pattern{action}'
awk 'BEGIN{} END{}’開始和結(jié)束
awk ' /Running/’正則匹配
awk ' / aa/ ,/bb/'區(qū)間選擇 
 用法 :cat nginx.log | awk '/ 404 | 500 /{print $9}' | wc -l
awk '$2~/xxx/'字段匹配 
  用法:awk '$9~/404|500/{print $9}' nginx.log | wc -l
awk 'NR==2'取第二行
awk 'NR>1’去掉第一行
使用t+1自增 計算統(tǒng)計: awk '$9~/404|500/{t+=1}END{print t}' nginx.log
Linux 日志分析實戰(zhàn)

 

練習2:

統(tǒng)計IP訪問量(獨立ip訪問數(shù)量)

# 打印所有ip, sort- u 去重排序,wc-l 統(tǒng)計總共數(shù)目
awk '{print $1}' nginx.log |sort -u |wc -l 
Linux 日志分析實戰(zhàn)

 

練習3:

查看某一時間段的IP訪問量(1-2點)

查找出排序,unqi-c去重
grep "05/Dec/2018:0[1-2]" nginx.log|' | sort | uniq -c| sort -nr | wc -l
簡潔版: 
grep "05/Dec/2018:0[1-2]" nginx.log | awk '{print $1}|sort -u |wc -l
Linux 日志分析實戰(zhàn)

 

練習4:

查看訪問最頻繁的前10個IP

查找ip 去重后,倒序排序,展示前10個
awk '{print $1}' nginx.log |sort -n |uniq -c|sort -rn| head -10
Linux 日志分析實戰(zhàn)

 

練習5

查看訪問100次以上的IP

#去重找到所有ipi地址,awk 判斷 將大于100的訪問次數(shù)打印后降序排序
awk '{print $1}' nginx.log |sort -n |uniq -c|awk '{if($1>100) print $0}'| sort -rn
Linux 日志分析實戰(zhàn)

 

練習6

找出名稱為 /topics 的平均響應(yīng)時間,響應(yīng)時間在倒數(shù)第二個字段

Linux 日志分析實戰(zhàn)

得知/topics 所在為第7個字段

#算出全部響應(yīng)時間 為倒數(shù)第二個字段: total和為{total+=$(NF-1) ,總次數(shù)為自增數(shù)據(jù)
less nginx.log | awk '$7=="/topics"{total+=$(NF-1);count+=1}END{print total/count}' nginx.log
Linux 日志分析實戰(zhàn)

響應(yīng)時間在倒數(shù)第二個字段

練習7

找出訪問量最高的頁面地址 借助于sed的統(tǒng)計分析

根據(jù)日志分析的頁面的地址,需要使用sed -E s (-e script 指定sed編輯命令 )替換

查找替換: s /REGEXP/REPLACEMENT /[FLAGS]

將第2替換為x:echo 1234 | sed 's#2#x#'

將第2和3替換為xecho 12433 | sed 's#[2-3]#x#g'

分組匹配與字段提取:sed 's#([0-9]*)l([a-z]*)#1 2#'

語法解析

Linux 日志分析實戰(zhàn)

未替換前語句

使用 sed -E 's#[0-9]{4,}'#_id_#' ' 將第四位的數(shù)字替換為_id_(注:s后的符號可以跟任意符號)

Linux 日志分析實戰(zhàn)

 

- /topics/16689/replies/124751/edit 把數(shù)字替換為 /topics/_id_/replies/_id_/edit
- /_img/uploads/photo/2018/c54755ee-6bfd-489a-8a39-81a1d7551cbd.png!large 變成 /_img/uploads/photo/2018/_id_.png!large 
- /topics/9497 改成 /topics/_id_ 
- url中的query可以去掉
 - 其他規(guī)則參考如上

awk '{print $7}' nginx.log | 
  sed -E 
    //替換字母數(shù)字編碼的圖片前綴為_id_
    -e 's#/[0-9]*/[a-z0-9-]*.(png|gif|jpeg|jpg).*#/_id_/_id_.image#'    
  	//替換問號和感嘆問為空 
     -e 's#[?!].*##' 
    -e 's#/(topics|replies|avatar)/[0-9]{1,}#/1/_id_#g' 
		// 替換topics|followers|following|favorites|replies|columns|reward|calendar|people 字段后的id
    -e 's#/[^/]*/(topics|followers|following|favorites|replies|columns|reward|calendar|people)#/_uid_/1#' 
    -e 's#^/[^/]*$#/_top_#' 
    -e 's#/topics/node[0-9]*#/topics/node#' | 
  sort | uniq -c | sort -nr 
}

練習7

性能統(tǒng)計腳本 perf_avg, 統(tǒng)計linux進程中 AliYunDun 進程的cpu與mem,持續(xù)統(tǒng)計20s,每秒輸出一下即時的cpu與mem的利用率,并在最后結(jié)束時候給出cpu與mem的平均值

Linux 日志分析實戰(zhàn)

 


Linux 日志分析實戰(zhàn)

 

//使用top -b 高亮展示當前進程,-d 1 每1s更新一次,-n 更新為3次
top -b -d 1 -n 3
// grep 實時取出數(shù)據(jù),
grep --line-buffered -i aliyundun$
//計算cpu與mem的利用率
cpu=$(NF-3);mem=$(NF-2);cpu_total+=cpu;mem_total+=mem;
//完整語句
top -b -d 1 -n 3 | grep --line-buffered -i aliyundun$ |
  awk 
//先打印抬頭
'BEGIN{OFS="t";print "CPUf", "MEM"}  
{cpu=$(NF-3);mem=$(NF-2);print cpu,mem;cpu_total+=cpu;mem_total+=mem;
}
//最后打印數(shù)據(jù)
END{print "navg:" ;print cpu_total/NR, mem_total/NR}'    

練習8:

網(wǎng)絡(luò)連接數(shù)統(tǒng)計 net_avg

// 查看網(wǎng)絡(luò)進程
netstat -tnp 
//獲取 ip 和監(jiān)聽狀態(tài)
awk '{print $4,$6}'
//打印端口 號
awk -F : '{print $2}'
//完整命令
netstat -tnp |awk '{print $4,$6}'|awk -F : '{print $2}'|sort| uniq -c

優(yōu)化

Linux 日志分析實戰(zhàn)

去除上圖多余字段

//去除前兩行數(shù)據(jù)
sed  1,2d
//完整
netstat -tnp |sed 1,2d | awk '{print $4,$6}' | awk -F: '{print $2}' | sort | uniq -c | sort -nr

分享到:
標簽:分析 日志
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定