1. 程式人生 > 實用技巧 >日誌檔案分析

日誌檔案分析

在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

備註:靈活使用以上命令,可以滿足日常處理日誌檔案需求,上邊命令可以單獨使用也可以通過管道符 |來連線使用。