對於linux上的服務幾乎都會有日誌文件,日誌文件是來記錄軟體運行狀態。透過日誌文件,我們可以獲得許多有用的信息,例如透過nginx的日誌文件,我們可以統計網站每日IP數量、pv數等。另外,如果軟體運行出問題,我們也可以透過日誌檔案資訊來定位錯誤來源。所以說,日誌檔也是軟體的重要組成部分。
常見日誌檔案
linux系統中,在/var/log/目錄下記錄許多有用的日誌檔案。
/var/log/cron 記錄與定時任務相關的資訊
/var/log/dmesg 開機核心資訊
/var/log/btmp 記錄錯誤登陸的訊息,這個檔案不能透過vi來查看,可以用lastb指令查看。
/var/log/lastlog 記錄每個使用者最後一次登陸情況,這個檔案不能透過vi查看,使用lastlog指令查看
/var/log/maillog 記錄郵件訊息
/var/log/message 記錄系統重要的資訊
/var/log/recure記錄驗證和授權方面的信息,只要涉及帳號和密碼的程序都會記錄
/var/log/wtmp 永久記錄用戶的登陸、退出信息,除此之外還會記錄關機、重開機、開機資訊。使用last指令查看
/var/log/ulmp 記錄目前登陸使用者資訊。可以用w、who指令查看
與日誌檔案相關的服務
關於日誌檔案的產生,主要分為兩種方式,一種是軟體本身產生日誌訊息,例如apache、nginx軟體,另一種是透過linux系統的日誌相關服務來產生日誌訊息的。對於系統管理日誌的軟體,主要有三個:
systemd-journald.service
rsyslog.service
logrotate
基本上,有systemd管理的服務,啟動過程及運行過程中產生的一些資訊會被systemd-journald以二進位格式記錄下來(存放在記憶體中),之後再將資訊發給rsyslog進行進一步記錄。而對於logrotate服務,它是用來對日誌進行切割和輪替的,防止單一日誌檔案過大,以及日誌檔案過多的問題。
所以,對於以上三個服務的分工是這樣的,首先systemd-journald獲取資訊並記錄到記憶體中,之後將資訊傳送給rsyslog,rsyslog會將資訊存放在日誌檔案中,最後,使用logrotate對日誌檔案進行輪換管理。
以上是linux運維之日誌檔案-常見日誌檔案、管理日誌檔案的服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!