如何查看 Ubuntu Linux 服务器上的标准日志文件

在对系统、应用程序或网络问题进行故障排除时,日志非常有用。 还可以分析日志文件中捕获的信息,以发现可以帮助您作为系统做出明智决策的模式 admin.

本指南简要介绍了如何查看 Ubuntu Linux 服务器上的标准日志文件。

处理日志文件的重要命令

在 Ubuntu Linux 服务器上,日志通常以纯文本格式存储。 因此,了解以下用于在文件系统中移动和通过 Ubuntu 终端处理文本文件的基本 Linux 命令非常重要。

光盘 – 更改目录

ls – 显示目录的内容

cp – 复制文件或文件夹

MV – 重命名/移动文件或文件夹

纳米 – 基于控制台的文本编辑器

较少的 – 一次查看一页文本文件的内容

– 显示文本文件的前 10 行

尾巴 – 查看文本文件的最后 10 行

grep – 在文本文件或输出数据中搜索特定关键字

Ubuntu 服务器上日志文件的位置

基本上,日志文件存储在 /var/日志 Ubuntu 服务器上的目录。 运行以下命令将目录更改为 /var/log。

$ cd /var/log

现在,您可以按如下方式列出 /var/log 的内容。

$ ls

如下图 1 所示,/var/log 目录包含多个日志文件,可大致分为系统日志和应用程序日志。

图 1:列出 Ubuntu 服务器上的日志文件

系统日志

系统日志包含有关 Ubuntu 系统运行的信息; 包括授权日志、内核日志、内核环形缓冲区和一般系统事件。

授权日志

授权日志存储在 /var/log/auth.log. 在这里您可以找到有关用户授权尝试的信息; 包括使用 sudo 命令。

您可以运行以下命令来检查 auth.log 文件的内容。

$ sudo less /var/log/auth.log

笔记: 点击键盘上的空格键可从一页滚动到另一页。 按 q 退出。

您还可以使用 grep 命令过滤日志中的信息。 这是一个 example.

$ sudo less /var/log/auth.log | grep olu

中的信息 样本输出 下面表示用户 olu 通过 ssh 成功远程登录到我的 Ubuntu 服务器。

2 月 1 日 15:44:24 Ubuntu sshd[1594]:接受来自 105.0.0.100 端口 35233 ssh2 的 olu 公钥:RSA SHA256:B3zi4x3gdF89wm0GZw+fsAkhckLEsx8fJ0GJiU80CXH

2 月 1 日 15:44:24 Ubuntu sshd[1594]: pam_unix(sshd:session): 由 (uid=0) 为用户 olu 打开的会话

2 月 1 日 15:44:24 Ubuntu systemd-logind[747]: 用户 olu 的新会话 2。

2 月 1 日 15:44:24 Ubuntu systemd: pam_unix(systemd-user:session): 由 (uid=0) 为用户 olu 打开的会话

内核日志

内核日志保存在 /var/log/kern.log. 此信息对于解决内核错误很有用。 内核控制着操作系统中的一切; 包括进程管理、内存管理和设备管理。

使用以下命令一次显示一页 kern.log 文件的内容。

$ sudo less /var/log/kern.log

或者试试这个来显示 kern.log 文件的前 10 行。

$ sudo head /var/log/kern.log

在 kern.log 中查找特定信息。

$ grep memory /var/log/kern.log

内核环形缓冲区

内核环形缓冲区保存内核硬件信息。 信息已登录 /var/log/dmesg 并且可以通过使用 dmesg 命令。 此信息包括系统启动时检测到的所有设备。

您可以使用它来解决服务器硬件组件的问题。 运行以下命令查看内核环形缓冲区的全部内容。

$ dmesg

尝试下一个命令以显示内核环形缓冲区的最后 10 行。

$ dmesg | tail

或使用 grep 过滤特定关键字。

$ dmesg | grep cpu

一般系统日志

在这里,我们将谈论 系统日志日志控制

系统日志

Syslog 是一种日志机制,将一般系统事件存储在 /var/log/系统日志. 此处存储的信息可能包括您在其他日志文件中找不到的事件。

运行以下命令,逐页显示 syslog 文件的内容。

$ sudo less /var/log/syslog

您还可以使用 grep 命令如下。

$ sudo grep failed /var/log/syslog

Journalctl

journalctl 命令简化了检查服务器日志的过程。 您可以使用 journalctl 快速查找和过滤您需要的信息,而不是查看单个日志文件。

下面的命令显示从最旧到最新的所有日志条目。

$ journalctl

下一个命令显示警告消息。

$ journalctl -p warning

您可以只显示内核消息,如下所示。

$ journalctl --dmesg

您可以通过组合搜索特定关键字 grep 使用命令并逐页查看结果 较少的.

$ journalctl | grep ssh | less

查看自特定日期以来的日志信息。

$ journalctl --since=2021-02-01

或查看特定时间以来的日志信息。

$ journalctl --since=12:00

你也可以输入 日志控制 然后按键盘上的 Tab 键以查看可用选项。

应用程序日志

几个应用程序将日志信息存储在 /var/日志. 为了 example,在上面的图 1 中, 克拉玛夫 目录包含与 ClamAV 反恶意软件应用程序有关的日志文件。

以下是一些流行应用程序或服务的示例,以及它们的日志信息存储位置。

Apache web server logs - /var/log/apache2
NGINX web server logs - /var/log/nginx
Printing system (CUPS) logs - /var/log/cups

其他有用的日志

一些日志文件,例如 最后日志, 重量级 人类可能无法直接阅读。 以下是这些文件包含哪些类型的信息以及如何查看这些信息的简要说明。

最后日志

保存的信息 /var/log/lastlog 与用户及其最近登录到 Ubuntu 服务器有关。 您需要使用 最后日志 命令访问它如下。

$ lastlog

重量级

变量/日志/wtmp 文件包含全面的登录记录。

跑过 最后的 命令显示上次登录用户的列表。 您可能还会看到有关系统启动/重新启动的信息。

$ last

跑过 命令查看当前登录的用户。

$ who

w 命令向您显示当前登录的人员以及他们在 Ubuntu 服务器上所做的事情。

$ w

结论

在本指南中,我们简要介绍了如何查看 Ubuntu 服务器上的标准日志文件。 这不是一个详尽的列表,但我们希望它能让您了解在哪里查看。