診斷服務問題

在使用 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/中查詢特定於服務的日誌