Linux 中的系统日志可让您深入了解 PC 或服务器基础架构上的核心活动。 它们对于保持系统稳定和安全至关重要。 系统日志还为您提供了审核过去发生的各种活动的机会。
本指南向您介绍 Linux 中的日志记录系统。 核心系统应用程序和服务执行的所有主要活动都以日志的形式记录,所有这些的核心是一个称为 系统日志.
为什么系统日志很重要?
想象一下,您的 Linux PC 最近遇到了启动错误,或者您怀疑有人试图登录您的系统。 由于您的系统以日志的形式跟踪此类活动,因此可以轻松跟踪这些事件。
在 Linux 中,系统日志是由服务、守护进程和系统应用程序执行的核心系统活动的人类可读记录。 Linux 机器上记录的一些重要活动包括用户登录和登录失败、操作系统启动、系统故障等。
Linux 有一个称为 Syslog 的专用服务,专门负责通过 System Logger 创建日志。 Syslog 由多个组件组成,例如 Syslog 消息格式、Syslog 协议和 Syslog 守护程序:通常称为 系统日志 或者 rsyslogd 在较新版本的 Linux 中。
这 /var/日志 目录存储 Linux 系统上的大部分日志。 这 /在哪里 目录主要包含可变文件和目录,即必然会经常更改的数据。 日志没有标准格式,但至少,日志应包含时间戳和所记录活动的详细信息。
列出由 syslog 管理的文件
您系统上的所有常规日志都存储在 /var/日志/系统日志 基于 Debian 的 Linux 发行版上的文件。 其他发行版使用 /var/日志/消息 用于存储日志的文件。
笔记:不同的 Linux 发行版可能使用不同的文件来记录特定消息。 为了 example, 在基于 Debian 的 Linux 发行版上, /var/log/auth.log 文件包含身份验证日志,而 RedHat 系统使用 /var/日志/安全 文件来存储此类日志。
要了解有关负责存储日志的所有文件的更多信息,您可以查看 /etc/rsyslog.d 目录,其中包含重要的 Syslog 配置文件。 为了 example, 要列出标准日志文件,您可以查看 /etc/rsyslog.d/50-default.conf 文件。
cat /etc/rsyslog.d/50-default.conf
该文件显示系统应用程序的名称以及与其关联的相应日志文件。
怎样检查日志文件
大多数日志文件都很长。 因此,在 Linux 上检查日志文件的最重要命令之一是 较少的 命令,它在易于导航的部分中输出文件内容。
为了 example, 查看内容 /var/日志/系统日志 文件,使用 less 命令,如下所示。
less /var/log/syslog
使用 F 向前滚动的键盘键和 乙 键向后滚动。
syslog 文件包含一些最关键活动的日志,例如系统上的系统错误和服务活动。
如果您只想检查最近的日志,您可以使用 尾巴 命令,默认情况下仅列出最后 10 条日志消息。
tail /var/log/syslog
您还可以指定要使用 tail 实用程序查看的日志消息数。 该命令采用以下格式 tail -n 文件检查, 在哪里 n 是您要查看的行数。 为了 example, 要查看 syslog 文件中的最后 7 条日志消息,您可以使用以下命令。
tail -7 /var/log/syslog
要实时查看最近的日志,您可以将 tail 命令与 -F 选项如下。
tail -f /var/log/syslog
检查日志消息的另一个重要命令是 头 命令。 与显示文件中最后一条日志消息的 tail 命令不同,head 命令显示文件中的第一行。 默认情况下,该命令将只输出前 10 行。
head /var/log/syslog
身份验证日志
如果您想在您的系统上查找有关用户登录的信息,您可以查看 /var/log/auth.log 文件。 可以在此处找到与用户登录、登录失败和使用的身份验证方法相关的信息。
内核日志
当你的 Linux 系统启动时,内核环形缓冲区的重要数据被记录在 /var/log/dmesg 文件。 其他有关硬件驱动程序、内核和启动状态的信息都记录在此文件中。
您可以使用 dmesg 查看这些日志文件,而不是使用 less 或 cat 命令检查引导日志消息。
dmesg
笔记: 将消息记录在 /var/log/dmesg 每当系统启动时都会重置文件。
另一个与内核问题相关的重要日志文件是 /var/log/kern.log.
使用 logger 命令记录消息
除了仅查看系统应用程序或服务记录的日志消息外,Linux 中的日志系统还允许您使用 记录器 命令。 用户可以将消息记录到 /var/日志/系统日志 默认文件。 为了 example, 要记录一条简单的消息,您可以运行以下命令。
logger hello world!
您现在可以使用 tail 命令查看最近记录的消息。
tail -3 /var/log/syslog
您甚至可以通过将命令包含在 logger 命令中来记录其他命令的输出 反勾号 (`) 特点。
logger `whoami`
您还可以在脚本中使用 logger 命令来记录重要事件。 使用手册页了解有关 logger 命令及其选项的更多信息。
man logger
管理日志文件
您可能已经注意到,在 Linux 机器上记录了大量数据。 因此,您需要有一个适当的系统来管理日志文件使用的磁盘空间。 除此之外,拥有日志系统可确保您轻松找到所需的日志消息。 Linux 解决这个问题的方法是 对数旋转 公用事业。
使用 logrotate 实用程序配置要保留的日志文件、要保留它们的时间、管理日志的邮件发送以及怎样压缩旧日志文件等。
您可以使用您选择的任何文本编辑器配置 logrotate 实用程序。 可以在以下位置找到 logrotate 的配置文件 /etc/logrotate.conf.
使用日志保持系统健壮
Linux 中的系统日志是深入了解系统上发生的主要活动的好方法,这些活动可以构成系统的安全性和整体稳定性。 了解怎样查看和分析服务器或 PC 上的日志消息对帮助您保持系统的稳健性大有帮助。
有时,由于系统资源的可用性低,用户发现很难在他们的系统上使用某些应用程序。 在这种情况下,杀死无响应的程序可以释放系统主内存上的空间。