診斷服務問題
在使用 systemd 的系統上,例如 Fedora => 15,Ubuntu(伺服器和桌面)> = 15.04,以及 RHEL / CentOS> = 7:
systemctl status [servicename]
… [servicename]
是有問題的服務; 例如,systemctl status sshd
。
這將顯示基本狀態資訊和記錄的任何最近錯誤。
你可以通過 journalctl
檢視更多錯誤。例如,journalctl -xe
將載入最後 1000 個登入到尋呼機(如 less
),跳到最後。你也可以使用 journalctl -f
,它會在進入時跟蹤日誌訊息。
要檢視特定服務的日誌,請使用 -t
標誌,如下所示:
journalctl -f -t sshd
其他方便的選項包括 -p
優先(-p warnings
僅檢視警告及以上),-b
代表自上次啟動以來,-S
代表自 - 將它們放在一起,我們可能會做
journalctl -p err -S yesterday
檢視自昨天以來記錄為錯誤的所有專案。
如果 journalctl 不可用,或者你正在關注不使用系統日誌的應用程式錯誤日誌,則可以使用 tail
命令顯示檔案的最後幾行。尾部的有用標誌是 -f
(用於跟隨),這會導致尾部繼續顯示資料,因為它會附加到檔案中。要檢視系統上大多數服務的訊息:
tail -f /var/log/messages
或者,如果服務具有特權,並且可能記錄敏感資料:
tail -f /var/log/secure
有些服務有自己的日誌檔案,一個很好的例子是 auditd
,linux 審計守護程序,它的日誌儲存在/var/log/audit/
中。如果你在/var/log/messages
中看不到服務的輸出,請嘗試在/var/log/
中查詢特定於服務的日誌