Linux 系统日志入门

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 上的日志消息对帮助您保持系统的稳健性大有帮助。

有时,由于系统资源的可用性低,用户发现很难在他们的系统上使用某些应用程序。 在这种情况下,杀死无响应的程序可以释放系统主内存上的空间。

相关阅读:

Posted in: LinuxTags: