背景介紹:
在日常使用linux系統的過程中,經常會有一些“詭異”的現象,讓人百思不得其解。。。
比如我前幾天裝了個Centos7 Minimal,裝完后sshd服務設為自啟動,然后也沒有關機操作。。。
連續兩天,給我發現整這出。。。
納尼???被牛鬼蛇神控制了???
經過一些列的排查后,我發現是waf對sshd服務做了一些更改。。。
這里我收獲了一個比較清晰的思路:
源碼--->tar(安裝前)--->service(安裝后)
總之就是從這兩天的系統日志里定位到了:
1、從中作梗的“服務名稱”
2、服務進程關閉的時間,是否有規律?
然后就是根據這個去深入定位,是哪一段的代碼或者配置文件在“作祟”???編譯前的代碼段是哪些???編譯后的配置參數在哪里控制???
做到有條理的去排查問題,思路很重要!!!
正文:
一、Linux系統日志的三種類型
1.內核及系統日志
這種日志數據由系統服務rsyslog統一管理,根據其主配置文件/etc/rsyslog.conf中的設置決定將內核消息及各種系統程序消息記錄到什么位置。系統中有相當一部分程序會把日志文件交由rsyslog管理,因而這些程序使用的日志記錄也具有相似的格式。
2.用戶日志
這種日志數據用於記錄Linux操作系統用戶登錄及退出系統的相關信息,包括用戶名、登錄的終端、登錄時間、來源主機、正在使用的進程操作等。
3.程序日志
有些應用程序會選擇由自己獨立管理一份日志文件,用於記錄本程序運行過程中的各種事件信息,而不是交給rsyslog服務管理。由於這些程序只負責管理自己的日志文件,因此不同程序所使用的日志記錄格式可能會存在較大的差異。
二、Linux系統常見的日志文件
路徑1:/var/log/messages:記錄 Linux 內核消息及各種應用程序的公共日志信息 路徑2:/var/log/cron:記錄 crond 計划任務產生的事件信息 路徑3:/var/log/dmesg:記錄 Linux 操作系統在引導過程中的各種事件信息 路徑4:/var/log/maillog:記錄進入或發出系統的電子郵件活動 路徑5:/var/log/lastlog:記錄每個用戶最近的登錄事件 路徑6:/var/log/secure:記錄用戶認證相關的安全事件信息 路徑7:/var/log/wtmp:記錄每個用戶登錄、注銷及系統啟動和停機事件 路徑8:/var/log/btmp:記錄失敗的、錯誤的登錄嘗試及驗證事件
三、Linux系統日志的優先級別
數字等級越小,優先級越高,消息越重要。
四、補充:查看使用systemctl啟動日志
1、查看啟動日志
journalctl -f或者 journalctl -xe
2、查看所有已啟動服務
systemctl list-units --type=service