诊断服务问题
在使用 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/
中查找特定于服务的日志