日誌檔案分析
在linux系統中檢視分析應用日誌,是日常工作中最常用的場景,下邊記錄整理下常用的命令和方法
#日誌檔名:logfile
日誌檔案操作
一.日誌檔案傳輸
日誌檔案傳輸,是指將日誌檔案傳輸到其它介質,以方便進行下一步處理,一般都是從伺服器傳輸到本地電腦。以下介紹幾種常用方法
1.FTP檔案傳輸:
命令:wget ftp://${HostName}/${RealPath}/logfile
HostName是伺服器地址,由於ftp服務預設埠21,一般不用特意指定埠; RealPath是日誌檔案的真實路徑,位於日誌檔案目錄下執行pwd命令可以得到
注意事項:
1需要伺服器上開啟了FTP服務,檢查FTP服務是否開啟,ps -ef | grep vsftpd
2伺服器上的ftp服務可能是禁止匿名訪問的,需要使用者名稱和密碼,具體知識請參照網上ftp服務部署配置。
3.當然也可以通過ftp軟體連結ftp伺服器,不使用wget命令,windows系統的cmd預設不支援wget命令
2.rz/sz 命令
命令:sz -be logfile
sz是傳送檔案,rz是接收檔案,-b是以二進位制傳輸,-e是支援斷點續傳
注意事項:
1.通過Xshell或CRT等工具登陸伺服器上執行命令
2.linux伺服器上安裝了lrzsz工具包,可以通過rpm -qa | grep lrzsz檢視驗證
3.SimpleHTTPServer簡易http服務
命令:python -m SimpleHTTPServer 8080
wget http://${HostName}:${Port}/logfile
注意事項:
1.這種方式本質上是啟動一個http服務,在日誌檔案的當前目錄啟動即可,這樣做是不符合安全生產規範的非法操作,檔案傳輸後,儘快關閉,使用ctrl + c 退出即可。
2.linux上必須有python環境,
3.最後埠是可以變更的,防止和伺服器上埠衝突
二.日誌檔案檢視處理
當我們將日誌檔案拿到本地後,有各種方式各種軟體來檢視處理日誌檔案,這些暫且不講,這裡主要將在伺服器上處理日誌檔案
檢視檔案的幾種方式:
cat lofile
#從頭檢視檔案,並將整個檔案列印到控制檯
more logfile
less logfile
#以分頁的方式從末尾檢視檔案,按任意鍵跳轉下一頁,注意控制檯上顯示的內容是按照行倒序的,有時間戳的日誌檔案能明顯的提現這一點
head logfile
#檢視檔案的頭幾行,head -n 可以指定檢視n行
tail logfile
#檢視檔案的末尾幾行,tail -n 可以指定檢視n行,tail -f 可以追加顯示日誌的新增行,對一個實時更新的檔案使用tail -f ,控制檯將實時列印日誌檔案的新增內容
grep
#用於查詢檔案裡符合條件的字串。
split
#split命令用於將一個檔案分割成數個。split -l <行數> oldfile newfile字首
awk
#awk 是一種處理文字檔案的語言,是一個強大的文字分析工具。使用方法可以參考教程:https://www.runoob.com/linux/linux-comm-awk.html
sed
#sed 主要用來自動編輯一個或多個檔案、簡化對檔案的反覆操作、編寫轉換程式等。使用方法可以參考教程:https://www.runoob.com/linux/linux-comm-sed.html
備註:靈活使用以上命令,可以滿足日常處理日誌檔案需求,上邊命令可以單獨使用也可以通過管道符 |
來連線使用。