在系統運行正常的情況下學習了解這些不同的日誌文件有助於你在遇到緊急情況時從容找出問題並加以解決。
以下介紹的是20個位於/var/log/ 目錄之下的日誌文件。
1. /var/log/messages — 系統啟動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一;它記錄了各種事件,基本上什麼應用都能往裡寫日誌,在做故障診斷時可以首先查看該文件內容。
[root@localhost ~]# ll /var/log/messages
-rw--. 1 root root 287960 Jul 2 21:26 /var/log/messages
messages日誌文件是文本文件,root用戶或有root組權限的用戶才能查看修改。
可以分為幾個欄位來描述這些事件信息:
1. 事件的日期和時間
2. 事件的來源主機
3. 產生這個事件的程序[進程號]
4. 實際的日誌信息
2. /var/log/dmesg — kernel會將開機信息存儲在ring buffer中。您若是開機時來不及查看信息,可利用dmesg來查看。
參數:
-c 顯示信息後,清除ring buffer中的內容。
-s<緩衝區大小> 預設置為8196,剛好等於ring buffer的大小。
-n 設置記錄信息的層級。
主要應用:
dmesg用來顯示內核環緩衝區(kernel-ring buffer)內容,內核將各種消息存放在這裡。在系統引導時,內核將與硬體和模塊初始化相關的信息填到這個緩衝區中。內核環緩衝區中的消息對於診斷系統問題通常非常有用。
檢查硬碟是否運行在DMA模式:
檢查乙太網連接:
如果一切正常,那麼dmesg顯示每個網卡的硬體配置信息。如果某項系統服務未能得到正確的配置,dmesg日誌很快就填滿錯誤消息,這是診斷故障的良好起點。
3. /var/log/boot.log — 包含系統啟動時的日誌,如果系統啟動之後有什麼異常可以查看該文件信息。
4. /var/log/lastlog — 文件用來記錄進入系統的用戶信息,包括登錄的時間,登錄是否成功等信息。這不是一個ASCII文件,因此需要用lastlog命令查看內容。
5. /var/log/maillog — 包含來著系統運行電子郵件伺服器的日誌信息。例如,sendmail日誌信息就全部送到這個文件中。
6. /var/log/btmp – 記錄所有失敗登錄信息。使用last命令可以查看btmp文件。
使用防火牆屏蔽試圖使用密碼字典登錄ssh服務的IP:
iptables -A INPUT -i eth0 -s *.*.*.0/24 -j DROP
查看惡意ip試圖登錄次數:
lastb | awk 『{ print $3}』 | sort | uniq -c | sort -n
刪除這個日誌:
rm -rf /var/log/btmp
touch /var/log/btmp
7. /var/log/cups — 涉及所有列印信息的日誌。
配置文件:/etc/cups/cupsd.conf
8. /var/log/cron — 每當cron進程開始一個工作時,就會將相關信息記錄在這個文件中。
任務運行的日期與時間 、在哪臺主機上運行 、運行任務的程序[進程號] 、任務運行的具體信息
9. /var/log/secure — 包含驗證和授權方面信息。例如,sshd會將所有信息記錄(其中包括失敗登錄)在這裡。一般用來記錄安全相關的信息,記錄最多的是哪些用戶登錄伺服器的相關日誌,如果該文件很大,說明有人在破解你的 root 密碼。
可以分為幾個欄位來描述這些事件信息:
1. 事件的日期和時間
2. 事件的來源主機 ( 通常是寫主機名 )
3. 產生這個事件的程序[進程號]
4. 實際的日誌信息
10. /var/log/wtmp — 是一個二進位文件,記錄每個用戶的登錄次數和持續時間等信息。該日誌文件永久記錄每個用戶登錄、註銷及系統的啟動、停機的事件。因此隨著系統正常運行時間的增加,該文件的大小也會越來越大,增加的速度取決於系統用戶登錄的次數。該日誌文件可以用來查看用戶的登錄記錄,last命令就通過訪問這個文件獲得這些信息,並以反序從後向前顯示用戶的登錄記錄,last也能根據用戶、終端tty或時間顯示相應的記錄。
last 命令:
功能說明:列出目前與過去登入系統的用戶相關信息。
語 法:last [-adRx][-f ][-n ][帳號名稱...][終端機編號...]
補充說明:單獨執行last指令,它會讀取位於/var/log目錄下,名稱為wtmp的文件,並把該給文件的內容記錄的登入系統的用戶名單全部顯示出來。
參 數:
-a 把從何處登入系統的主機名稱或IP位址,顯示在最後一列。
-d 將IP位址轉換成主機名稱。
-f 指定記錄文件。
-n 或- 設置列出名單的顯示列數。
-R 不顯示登入系統的主機名稱或IP位址。
-x 顯示系統關機,重新開機,以及執行等級的改變等信息。
除了手動存檔和清除這些日誌文件以外,還可以使用logrotate在文件達到一定大小後自動刪除。logrotate程序是一個日誌文件管理工具。用於分割日誌文件,刪除舊的日誌文件,並創建新的日誌文件,起到「轉儲」作用。可以節省磁碟空間。Linux系統默認安裝logrotate工具,它默認的配置文件在:
/etc/logrotate.conf
/etc/logrotate.d/