Linux在服務(wù)器多節(jié)點下面實現(xiàn)快速查找日志
Linux在服務(wù)器多節(jié)點下查找日志
最近在查找一個核心服務(wù)的后臺日志,發(fā)現(xiàn)竟然部署了十幾個節(jié)點,而且沒使用ELK來做日志處理,所以查找日志非常不方便,不可能一個服務(wù)節(jié)點一個服務(wù)地找,所以通過同事間互相溝通找到一個方法,通過 $(find …)加上grep關(guān)鍵字來實現(xiàn)多節(jié)點日志模糊查找
日志部署
多節(jié)點的日志歸檔,是按照日期進行歸類,在對應(yīng)日期文件夾下面,是多個服務(wù)器節(jié)點的歸類目錄,在節(jié)點目錄下面是業(yè)務(wù)模塊命名的文件夾
舉個例子:
/2024-10-17/server01-192.168.0.1/portal/catalina.out.2024-10-17 /2024-10-17/server02-192.168.0.2/portal/catalina.out.2024-10-17 /2024-10-17/server03-192.168.0.3/portal/catalina.out.2024-10-17
所以節(jié)點少,還可以一個節(jié)點一個節(jié)點查找,節(jié)點多就需要通過一條命令來查找,先cd到日期命名的目錄,然后通過一條命令進行全量掃描
grep "關(guān)鍵字" $(find ./ -type f -name catalina.out.2024-10-17|grep portal)
Linux查看日志的幾種方法
最常用查看日志方法
- 實時日志:tail -f XXX.log
- 搜索關(guān)鍵字附近日志:cat -n XXX.log | grep "關(guān)鍵字"
查看日志常用命令
tail:
-n 是顯示行號;相當(dāng)于nl命令;
例子如下:
- tail -100f test.log 實時監(jiān)控100行日志
- tail -n 10 test.log 查詢?nèi)罩疚膊孔詈?0行的日志;
- tail -n +10 test.log 查詢10行之后的所有日志;
head:
跟tail是相反的,tail是看后多少行日志,而head是查看日志文件的頭多少行,例子如下:
- head -n 10 test.log 查詢?nèi)罩疚募械念^10行日志;
- head -n -10 test.log 查詢?nèi)罩疚募俗詈?0行的其他所有日志;
cat:
- tac是倒序查看,是cat單詞反寫;例子如下:
- cat -n test.log |grep "debug" 查詢關(guān)鍵字的日志(常用!~)
vim:
- 1、進入vim編輯模式:vim filename
- 2、輸入“/關(guān)鍵字”,按enter鍵查找
- 3、查找下一個,按“n”即可
- 退出:按ESC鍵后,接著再輸入:號時,vi會在屏幕的最下方等待我們輸入命令
- wq! 保存退出
- q! 不保存退出
常見的應(yīng)用場景
查看日志應(yīng)用場景一:按行號查看:過濾出關(guān)鍵字附近的日志
(1) cat -n test.log |grep "debug" 得到關(guān)鍵日志的行號
(2) cat -n test.log |tail -n +92|head -n 20 選擇關(guān)鍵字所在的中間一行. 然后查看這個關(guān)鍵字前10行和后10行的日志:
- tail -n +92表示查詢92行之后的日志
- head -n 20 則表示在前面的查詢結(jié)果里再查前20條記錄
查看日志應(yīng)用場景二:根據(jù)日期查詢?nèi)罩?/strong>
(1) sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特別說明:
- 上面的兩個日期必須是日志中打印出來的日志,否則無效
- 先 grep '2014-12-17 16:17:20' test.log 來確定日志中是否有該時間點
- 查看日志應(yīng)用場景三:日志內(nèi)容特別多,打印在屏幕上不方便查看,分頁/保存文件查看
(1)使用more和less命令,
如: cat -n test.log |grep "debug" |more 這樣就分頁打印了,通過點擊空格鍵翻頁
(2)使用 >xxx.txt 將其保存到文件中,到時可以拉下這個文件分析
如:cat -n test.log |grep "debug" >debug.txt
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows下搭建PHP開發(fā)環(huán)境(Apache+PHP+MySQL)
PHP集成開發(fā)環(huán)境有很多,如XAMPP、AppServ......只要一鍵安裝就把PHP環(huán)境給搭建好了。但這種安裝方式不夠靈活,軟件的自由組合不方便,同時也不利于學(xué)習(xí)。所以我還是喜歡手工搭建PHP開發(fā)環(huán)境,需要哪個模塊自己安裝就行了,或者那個軟件需要升級,直接升級那個軟件就行了,并不影響其他軟件,非常方便2013-01-01

