linux日志文件包含4列內容:1、事件產生的時間;2、產生事件的服務器的主機名;3、產生事件的服務名或程序名;4、事件的具體信息。只要是由日志服務rsyslogd統一管理和記錄的日志文件,它們的格式就都是一樣的,都包含4列供程序員查看分析。
本教程操作環境:linux7.3系統、Dell G3電腦。
日志文件是重要的系統信息文件,其中記錄了許多重要的系統事件,包括用戶的登錄信息、系統的啟動信息、系統的安全信息、郵件相關信息、各種服務相關信息等。這些信息有些非常敏感,所以在 Linux 中這些日志文件只有 root 用戶可以讀取。
Linux 系統日志主要有三種類型:分別是 內核及系統日志、用戶日志、程序日志。
1、內核及系統日志:
這種日志數據由系統服務 rsyslog 統一管理,根據其主配置文件 /etc/rsyslog.conf 中的設置決定將內核消息及各種系統程序消息記錄到什么位置。系統中有相當一部分程序會把日志文件交由 rsyslog 管理,因而這些程序使用的日志記錄也具有相似的格式。
2、用戶日志:
這種日志數據用于記錄 Linux 操作系統用戶登錄及退出系統的相關信息,包括用戶名、登錄的終端、登錄時間、來源主機、正在使用的進程操作等。
3、程序日志:
有些應用程序會選擇由自己獨立管理一份日志文件,用于記錄本程序運行過程中的各種事件信息,而不是交給 rsyslog 服務管理。由于這些程序只負責管理自己的日志文件,因此不同程序所使用的日志記錄格式可能會存在較大的差異。
linux系統日志文件的格式分析
只要是由日志服務 rsyslogd 記錄的日志文件,它們的格式就都是一樣的。所以我們只要了解了日志文件的格式,就可以很輕松地看懂日志文件。
日志文件的格式包含以下 4 列:
-
事件產生的時間。
-
產生事件的服務器的主機名。
-
產生事件的服務名或程序名。
-
事件的具體信息。
我們查看一下 /var/log/secure 日志,這個日志中主要記錄的是用戶驗證和授權方面的信息,更加容易理解。命令如下:
[root@localhost?~]#?vi?/var/log/secure Jun?5?03:20:46?localhost?sshd[1630]:Accepted?password?for?root?from?192.168.0.104?port?4229?ssh2 #?6月5日?03:20:46?本地主機?sshd服務產生消息:接收從192.168.0.104主機的4229端口發起的ssh連接的密碼 Jun?5?03:20:46?localhost?sshd[1630]:pam_unix(sshd:session):session?opened?for?user?root?by?(uid=0) #時間?本地主機?sshd服務中pam_unix模塊產生消息:打開用戶root的會話(UID為0) Jun?5?03:25:04?localhost?useradd[1661]:new?group:name=bb,?GID=501 #時間?本地主機?useradd命令產生消息:新建立bb組,GID為501 Jun?5?03:25:04?localhost?useradd[1661]:new?user:name=bb,?UID=501,?GID=501,?home=/home/bb,?shell=/bin/bash Jun?5?03:25:09?localhost?passwd:pam_unix(passwd:chauthtok):password?changed?for?bb
這里截取了一段日志的內容,注釋了其中的三句日志,剩余的兩句日志大家可以看懂了嗎?其實分析日志既是重要的系統維護工作,也是一項非常枯燥和煩瑣的工作。如果我們的服務器出現了一些問題,比如系統不正常重啟或關機、用戶非正常登錄、服務無法正常使用等,則都應該先查詢日志。
實際上,只要感覺到服務器不是很正常就應該查看日志,甚至在服務器沒有什么問題時也要養成定時查看系統日志的習慣。
相關推薦:《Linux視頻教程》