liunx檢視日誌 最實用命令和方法

2022-07-18 06:06:10 字數 2865 閱讀 6581

1.業務系統訪問量不是很大的時候,使用這個,有bug的地方操作下,直接看最後操作的日誌

tail  -fn100  catalina.log   查詢日誌尾部最後100行的日誌,並且隨檔案;

2.檢視伺服器啟動情況,伺服器啟動報錯,直接看前n行即可

head -n100  catalina.log   查詢日誌檔案中的頭10行日誌;

3.按照關鍵字查詢日誌 (知道程式出問題的模組,而且有日誌關鍵字的可以用此方法)

<1>.找到發錯錯誤異常的行號

比如我們日誌中關鍵字error表示錯誤

grep "error" -n access.log

或者cat -n catalina.log |grep "error" 

這時候就會顯示很多匹配的行數,然後找到大約發生錯誤時間的對應行號

<2>通過行號查詢對應行前後的內容

例如:得到"error"關鍵字所在的行號是102行. 此時如果我想檢視這個關鍵字前10行和後10行的日誌:

cat -n catalina.log |tail -n +92|head -n 20

tail -n +92表示查詢92行之後的日誌

head -n 20 則表示在前面的查詢結果裡再查前20條記錄

或者 sed -n "92,112p" catalina.log

sed -n "開始行,結束行p" 檔名 檢視檔案多少行到多少行內容

4.通過時間查詢 (不知道程式那裡出問題了,只知道出問題的時間)

查詢乙個時間字串是否存在

grep 「2017-06-21 10:00」 test.log

查詢時間段內的日誌

sed -n '/2017-06-21 09:25:55/,/2017-06-21 14:25:55/p' access.log

這個方法網上都說這個搞,但實際上我實踐的時候不能查出來什麼,不知道為什麼,如果不行只能查時間字串

grep "2017-06-21 09:25:55" -n access.log

cat -n test.log |grep "error" |more

5.查詢日誌結果如果太多可以分頁到匯出檔案

<1>使用more和less命令, 如: cat -n test.log |grep "error" |more     這樣就分頁列印了,通過點選空格鍵翻頁

<2>使用 >look.txt 將其儲存到檔案中,到時可以拉下這個檔案分析.如:

cat -n test.log |grep "地形"  >look.txt

6.日誌管理工具,以上方式只能解決伺服器單節點問題,多節點日誌分析不建議在伺服器上乙個個節點去檢視,通常簡單的是運維定時合併同一業務型別日誌到某乙個目錄

同時也有一些開源的日誌管理軟體可以幫你管理日誌,很簡單的幫你實現分析,搜尋

如開源的graylog 2 logstash sumo logic 收費的 splunk  等

1.業務系統訪問量不是很大的時候,使用這個,有bug的地方操作下,直接看最後操作的日誌

tail  -fn100  catalina.log   查詢日誌尾部最後100行的日誌,並且隨檔案;

2.檢視伺服器啟動情況,伺服器啟動報錯,直接看前n行即可

head -n100  catalina.log   查詢日誌檔案中的頭10行日誌;

3.按照關鍵字查詢日誌 (知道程式出問題的模組,而且有日誌關鍵字的可以用此方法)

<1>.找到發錯錯誤異常的行號

比如我們日誌中關鍵字error表示錯誤

grep "error" -n access.log

或者cat -n catalina.log |grep "error" 

這時候就會顯示很多匹配的行數,然後找到大約發生錯誤時間的對應行號

<2>通過行號查詢對應行前後的內容

例如:得到"error"關鍵字所在的行號是102行. 此時如果我想檢視這個關鍵字前10行和後10行的日誌:

cat -n catalina.log |tail -n +92|head -n 20

tail -n +92表示查詢92行之後的日誌

head -n 20 則表示在前面的查詢結果裡再查前20條記錄

或者 sed -n "92,112p" catalina.log

sed -n "開始行,結束行p" 檔名 檢視檔案多少行到多少行內容

4.通過時間查詢 (不知道程式那裡出問題了,只知道出問題的時間)

查詢乙個時間字串是否存在

grep 「2017-06-21 10:00」 test.log

查詢時間段內的日誌

sed -n '/2017-06-21 09:25:55/,/2017-06-21 14:25:55/p' access.log

這個方法網上都說這個搞,但實際上我實踐的時候不能查出來什麼,不知道為什麼,如果不行只能查時間字串

grep "2017-06-21 09:25:55" -n access.log

cat -n test.log |grep "error" |more

5.查詢日誌結果如果太多可以分頁到匯出檔案

<1>使用more和less命令, 如: cat -n test.log |grep "error" |more     這樣就分頁列印了,通過點選空格鍵翻頁

<2>使用 >look.txt 將其儲存到檔案中,到時可以拉下這個檔案分析.如:

cat -n test.log |grep "地形"  >look.txt

6.日誌管理工具,以上方式只能解決伺服器單節點問題,多節點日誌分析不建議在伺服器上乙個個節點去檢視,通常簡單的是運維定時合併同一業務型別日誌到某乙個目錄

同時也有一些開源的日誌管理軟體可以幫你管理日誌,很簡單的幫你實現分析,搜尋

如開源的graylog 2 logstash sumo logic 收費的 splunk  等

Liunx 檢視日誌最實用命令和方法

線上出現了問題,登上線上的機器查日誌是非常常見的操作了。我第一次登上線上機器查日誌的時候,我還只記得以下的幾個命令 假設現在我們的日誌檔案叫做service.log 如果是小檔案的話,單純的cat命令還是可以應付的,但如果你直接用cat命令開啟乙個1gb的日誌檔案,保證卡死你 ctrl c退出cat...

linux tomcat日誌檢視實用命令

linux tomcat日誌檢視實用命令 檢視tomcat執行日誌 tail f catalina.out 通過關鍵字搜尋檢視日誌 cat jeewx 2015 09 20.log grep 驗證碼 檢視固定時間日誌 cat jeewx 2015 09 20.log grep 2015 09 20 ...

Linux Tomcat日誌檢視實用命令

實用命令 檢視tomcat執行日誌 tail f catalina.out 通過關鍵字搜尋檢視日誌 cat jeewx 2015 09 20.log grep 驗證碼 檢視固定時間日誌 cat jeewx 2015 09 20.log grep 2015 09 20 18 50 15 檢視最近 50...