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