日誌分析必備指令集 來自一段線上日誌的檢視的經歷

2021-09-13 00:16:40 字數 2212 閱讀 1802

檢視線上機器的一些資訊和基礎命令:

df 檢視系統掛載磁碟大小

du會顯示指定的目錄或檔案所占用的磁碟空間

cat命令用於連線檔案並列印到標準輸出裝置上

zcatt命令用於不真正解壓縮檔案,就能顯示壓縮包中檔案的內容的場合。

head顯示檔案的開頭至標準輸出中,預設head命令列印其相應檔案的開頭10行

tail用於檢視檔案的內容,有乙個常用的引數-f常用於查閱正在改變的日誌檔案

less可以隨意瀏覽檔案

grep用於查詢檔案裡符合條件的字串。

awk處理文字檔案的語言,是乙個強大的文字分析工具。

awk -f, '$2 ~ /test/ ' log.txt

使用-f,的作用是每行按照,分割,$1-$2-$n就是分割的結果的對應順序的值

$2 ~ /th/就是需要分割的第二個資料需要和test匹配的上

輸出分割結果的第二個和第四個

處理的資訊是log.txtawk -f '[:=]' '' log.txt

-f '[:=]'使用多個分隔符,先使用:分割,然後在對分割結果使用=二次分割。

''對分割後的第五個結果處理,需要能夠匹配上其中的正則,並把匹配結果放到陣列a中,其中a陣列的結果a[0]是全匹配的結果,a[1]是正則匹配的子表示式結果,並輸出子表示式。

sort用於將文字檔案內容加以排序。

uniq用於檢查及刪除文字檔案中重複出現的行列,需要與 sort 命令結合使用[一定要排序,不然去重無效,只會去除相鄰的重複項]

wc計算檔案的byte數、字數、或是列數,若不指定檔名稱、或是所給予的檔名為"-",則wc指令會從標準輸入裝置讀取資料。

scplinux系統下基於ssh登陸進行安全的遠端檔案拷貝命令[需要配置ssh登入,密碼或者公鑰免密]

線上日誌結構:

183.250.223.158 [16/dec/2018:23:57:15 +0800] "get /log?skdata=sdadadad111%22username%33%3ftestets%22fsfdsfssadadasd%34fdsfs%34  http/1.0" 200 2 "-" "testiphone/d64556" "120.188.90.136" "jsdgajdsad" "dasdadd" "test" "ceshi"
分析資料命令:

cat /home/logs/2018/12/access.2018-12-16.log | grep -e  'skdata.*username' | awk '' | sort | uniq -c | wc -l
cat檢視某一天的日誌檔案,訪問日誌一般檔案一天記錄乙份

grep檢視符合需求的訪問日誌,本例項使用正則匹配-e來篩選出符合要求的詳情頁訪問日誌,輸出

awk分析符合要求的詳情頁訪問日誌,把每行詳情頁訪問日誌中$5【空格分割的第五個字串,本例項就是以/log?開頭的字串】去匹配乙個正則.*username%33%3f(.*)%22fsfdsfssadadasd.*,並把結果放到變數a中【a[0]是全匹配,a[1]是第乙個字表示式】,然後把匹配成功符合結果的a[1]輸出

sort將上述結果排序 [一定要排序,不然去重無效,只會去除相鄰的重複項]

uniq -c將上述結果去重

wc -l檢視總共結果數量

MySQL必備指令集

列中僅選取唯一不同的值 distinct select distinct tool sub type from table where tool type 1 三表聯查 and select from table 1 t1 table 2 t2,table 3 t3 where t1.store i...

搞定ARM指令集 一 資料儲存裝載指令

arm指令屬於精簡計算機指令 risc 其條數較多,較難記憶,但事物的發展都是有延續性的,尤其是自然科學,其本身就是一種積累,所以她們的發展就必然是建立在某種規律之上的!掌握和熟悉規律之後再去研究細節,往往能達到事半功倍的效果!最近有需求,也渴望掌握arm指令集,所以決定擠出時間攻克之!邏輯運算指令...

一 linux 指令集(顯示系統資訊 關機操作)

顯示系統資訊 arch 顯示機器的處理器架構 1 uname m 顯示機器的處理器架構 2 uname r 顯示正在使用的核心版本 dmidecode q 顯示硬體系統部件 smbios dmi hdparm i dev hda 羅列乙個磁碟的架構特性 hdparm tt dev sda 在磁碟上執...