『學了就忘』Linux日誌管理 — 90、Linux中日誌介紹

1、日誌相關服務

CentOS 6.x中日誌服務已經由rsyslogd取代了原先的syslogd服務。RedHat認為syslogd已經不能滿足在工作中的需求,rsyslogd服務支援的功能更加豐富。

rsyslogd服務相比syslogd服務具有一些新的特點:

  • 基於TCP網路協議傳輸日誌資訊。
  • 更安全的網路傳輸方式。
  • 有日誌消息的及時分析框架。
  • 後台資料庫。
  • 配置文件中可以寫簡單的邏輯判斷。
  • syslog配置文件相兼容。

2、系統中常見的日誌文件

在Linux系統中,系統日誌一般都保存在/var/log/目錄下。

如下所示:

[root@localhost ~]# ls /var/log/
anaconda.ifcfg.log    btmp           maillog            secure
anaconda.log          ConsoleKit     maillog-20200705   secure-20200705
anaconda.program.log  cron           mcelog             spooler
anaconda.storage.log  cron-20200705  messages           spooler-20200705
anaconda.syslog       cups           messages-20200705  sssd
anaconda.xlog         dmesg          ntpstats           tallylog
anaconda.yum.log      dmesg.old      prelink            wtmp
audit                 dracut.log     sa                 yum.log
boot.log              lastlog        samba

具體介紹一下這上面的主要日誌文件:

日誌文件 說明
/var/log/cron 記錄了系統定時任務相關的日誌。
/var/log/cups/ 記錄列印資訊的日誌。(前提你要有印表機或者列印伺服器,一般不用)
/var/log/dmesg 記錄了系統在開機時內核自檢的資訊。也可以使用dmesg命令直接查看內核自檢資訊。
/var/log/btmp 記錄錯誤登錄的日誌。這個文件是二進位文件,不能直接vim查看,而要使用lastb命令查看。
/var/log/lastlog 記錄系統中所有用戶最後一次的登錄時間的日誌。這個文件也是二進位文件,不能直接vim,而要使用lastlog命令查看。
/var/log/mailog 記錄郵件資訊。
/var/log/message 記錄系統重要資訊的日誌。這個日誌文件中會記錄Linux系統的絕大多數重要資訊,如果系統出現問題時,首先要檢查的就應該是這個日誌文件。
/var/log/secure 記錄驗證和授權方面的資訊,只要涉及賬戶和密碼的程式都會記錄。比如說系統的登錄,ssh的登錄,su切換用戶,sudo授權,甚至添加用戶和修改用戶密碼都會記錄在這個日誌文件中。
/var/log/wtmp 永久記錄所有用戶的登錄、註銷資訊,同時記錄系統的啟動、重啟、關機事件。同樣這個文件也是一個二進位文件,不能直接vim,而需要使用last命令來查看。
/var/run/utmp 記錄當前已經登錄的用戶的資訊。這個文件會隨著用戶的登錄和註銷而不斷變化,只記錄當前登錄用戶的資訊。同樣這個文件不能直接vim,而要使用wwhousers等命令來查詢。

說明:不能用vim編輯器查看的日誌文件示例。

# 有人在6月4日22:38使用root用戶,在本地終端1登錄錯誤
[root@localhost log]# lastb
root  tty1        Tue Jun 4 22:38 - 22:38 (00:00)

為什麼有些日誌文件不能使用vim編輯器查看?

是因為這些日誌文件中的內容,記錄的是重要系統資源的日誌,與系統安全有關,不能讓你修改,要確保數據的準確性,只能通關相關命令來查看。

除了系統默認的日誌之外,採用RPM方式安裝的系統服務也會默認把日誌記錄在/var/log/目錄中。

例如:

日誌文件 說明
/var/log/httpd/ RPM包安裝的apache服務的默認日誌目錄。
/var/log/mail/ RPM包安裝的郵件服務的額外日誌目錄。
/var/log/samba/ RPM包安裝的samba服務的日誌目錄。
/var/log/sssd/ 守護進程安全服務目錄。

而源碼包安裝的服務日誌是在源碼包指定目錄中。

不過這些日誌不是由rsyslogd服務來記錄和管理的,而是各個服務使用自己的日誌管理文檔來記錄自身日誌。