诊断服务问题

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