帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在Linux服务器上查找和解释系统日志文件

如何在Linux服务器上查找和解释系统日志文件

发布时间:2022年05月19日 09:41:34    来源: A5互联

我们在使用香港服务器时候都知道,它的日志文件和日志对系统管理员的工作很重要。从这些文件可以看出有关系统的大量信息,并且在故障排除和审计过程中发挥了重要作用。

通常,服务器的日志文件包含由内核、应用程序和登录系统的用户生成的事件和消息。

使用 rsyslog

Syslog 和 rsyslog 长期以来一直用于在 Linux 服务器上提供日志记录。Systemd 成为Red Hat Enterprise Linux (RHEL) 7 的默认服务管理器,并引入了自己的日志系统,称为 systemd-journald。systemd-journald 继续作为 RHEL 8 和 9 上的日志记录机制,同时保留 rsyslog 以实现向后兼容性。

rsyslog 服务将各种日志文件保存在/var/log目录中。您可以使用本机命令(例如tail、head、more、less、等)打开这些文件cat,具体取决于您要查找的内容。

例如,要显示引导和其他内核消息,请查看/var/log/messages:

cat /var/log/messages

使用grep和其他过滤工具从文件中收集更具体的事件。您还可以tail用于查看更新的文件:

tail -f /var/log/messages

在上面的命令中,该-f选项会在添加新的日志文件条目时更新输出。

检查/var/log/secure文件以查看用户及其活动:

tail -f /var/log/secure

使用 systemd-journald

systemd-journald 服务不像 rsyslog 那样保留单独的文件。这个想法是避免检查不同的文件是否存在问题。Systemd-journald 以无法使用文本编辑器读取的二进制格式保存事件和消息。您可以使用命令查询日志journalctl。

要显示所有事件消息,请使用:

journalctl

这与/var/log/messagesrsyslog 服务中的类似。

要查看最后 10 条事件消息,请使用:

journalctl -n

您可以使用 查看最后n个条目journalctl -n {number}。例如,要查看最后 20 个条目,请键入:

journalctl -n 20

要在写入日志时输出新的日志条目,请使用:

journalctl -f

运行以下命令以显示上次启动的内核消息日志:

journalctl -k

该journalctl命令有几个选项可以使查询日志更容易。您可以根据应用程序、时间范围、systemd 单位、优先级和许多其他选项来查询日志。运行journalctl –help命令以列出可用选项。

要根据关键优先级查看日记帐分录,请使用:

journalctl -p crit

要查询与特定用户相关的所有消息,请找到用户的 ID (UID) 并使用它来执行查询。例如,要检查与 sadmin 用户相关的所有日志,请运行:

id sadmin

journalctl _UID=1000

要查看今天的日记帐分录,请使用:

journalctl --since today

要查看与 sshd 守护进程相关的日志条目,请运行:

journalctl -u sshd

这同样适用于在 systemd 下运行的其他服务,可以使用systemctl.

要检查过去一小时内与 httpd 服务相关的消息,您可以运行:

[server]$ journalctl -u httpd –since "1 hour ago"

管理日志转发

RHEL 8 和 9 服务器同时使用 rsyslog 和 systemd-journald,它们相互补充以执行日志记录。Systemd-journald 没有将日志转发到外部系统和监控应用程序的机制。配置在/etc/systemd/journald.conf. 该ForwardToSyslog参数定义是否应将日志中的条目转发到 syslog。启用后,系统日志会在条目通过 systemd-journald 时捕获它们并相应地转发它们。

总结

当前的 RHEL 发行版依赖于 systemd 和相关的 journald 日志记录工具。但是,对于许多管理员来说,rsyslog 在日志记录中仍然扮演着重要角色——尤其是在日志转发和集中化方面。系统管理员必须知道如何有效地使用这两种日志机制。这些命令将帮助您学习和使用系统日志记录来进行故障排除和审计,您将对Linux服务器系统上发生的事情有更好的了解。