CDN日誌過濾方法

  • 2019 年 10 月 6 日
  • 筆記

CDN日誌往往記錄較大,單純使用grep和cat無法徹底進行統計分析,這種情況下可以使用zcat和awk來進行

日誌格式

騰訊雲官方給出的回源日誌格式如下:

請求時間、客戶端IP、訪問域名、文件路徑、位元組數、省份編碼、運營商編碼、HTTP狀態碼、referer、Request-Time、UA、range、HTTP Method、協議標識、快取HIT/MISS

Zcat使用方法

Zcat可以直接對gz格式的文件進行查看分析,並且進行過濾,日誌大部分都是常用方法如下:

-S:指定gzip格式的壓縮包的後綴。當後綴不是標準壓縮包後綴時使用此選項; -c:將文件內容寫到標註輸出; -d:執行解壓縮操作; -l:顯示壓縮包中文件的列表; -L:顯示軟體許可資訊; -q:禁用警告資訊; -r:在目錄上執行遞歸操作; -t:測試壓縮文件的完整性; -V:顯示指令的版本資訊; -l:更快的壓縮速度; -9:更高的壓縮比。

Awk篩選

1、查看訪問次數較多的文件資訊,並排序: zcat *.gz|awk 『{print $2,$4}』|sort|uniq -c|sort -rn

2、查看訪問404的client ip資訊和具體文件: zcat *.gz|awk 『{if ($8==404) {print $2,$4}}』| sort | uniq -c | sort -rn

3、查看訪問miss狀態的文件資訊,client ip,狀態碼資訊: zcat *.gz | awk 『{if ($NF=」miss」){print $2,$4,$8}}』|sort|uniq -c|sort -rn

4、查看訪問次數最多的client ip資訊: zcat *.gz | awk 『{print $2}』|sort|uniq -c|sort -rn

5、指定文件路徑:/index.php/45.html的訪問日誌 zcat *.gz | awk 『{if ($4==」/index.php/45.html」) print $2,$4}』