本教程介绍了如何实时监控 Linux 日志文件(桌面、服务器或应用程序)以进行诊断和故障排除。

当您在 Linux 桌面、服务器或任何应用程序中遇到问题时,您首先应该查看单独的日志文件。日志文件通常是文本流和来自应用程序的带有时间戳的消息。它可以帮助您缩小特定实例的范围,并使您能够找到任何问题的原因。它还可以帮助从网络获得帮助。

通常,所有日志文件都位于/var/log。此目录包含带有特定应用程序和.log服务扩展名的日志文件,它还包含包含其日志文件的单独的其他目录。

var-log 中的日志文件

所以,如果你想监控一堆日志文件或特定的一个,这里有一些方法可以做到。

实时监控 Linux 日志文件

使用 tail 命令

tail命令是实时跟踪日志文件的最基本方式。特别是如果您在只有终端而没有 GUI 的服务器中。对我们很有帮助。

例子:

基本语法

tail /path/to/log/file

用法

通过 tail 监控多个日志文件

使用开关-f跟踪实时更新的日志文件。例如,如果要关注 syslog,可以使用以下命令。

linuxmi@linuxmi:~/www.linuxmi.com$ tail -f /var/log/syslog

您可以使用单个命令监控多个日志文件 –

linuxmi@linuxmi:~/www.linuxmi.com$ tail -f /var/log/syslog /var/log/dmesg

如果要监视 HTTP 或 sftp 或任何服务器,可以在此命令中使用它们各自的日志文件。

请记住,上述命令需要管理员权限。

使用 lnav(日志文件浏览器)

lnav 是一个出色的实用程序,您可以使用它以更结构化的方式使用颜色编码的消息来监控日志文件。Linux 系统中默认不安装它。您可以使用以下命令安装它:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install lnav (Ubuntu) 
linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf install lnav (Fedora)

lnav 的好处是,如果您不想安装它,您可以下载其预编译的可执行文件并在任何地方运行它,甚至可以从 U 盘中运行。无需设置,并加载了功能。使用 lnav,您可以通过 SQL 查询日志文件,以及可以在其官方网站上学习的其他酷炫功能。

安装后,您可以从具有管理员权限的终端运行 lnav,它将/var/log默认显示所有日志并开始实时监控。

相关教程:lnav – Linux下高级日志文件查看器  https://www.linuxmi.com/lnav-linux-log-file.html

关于 systemd 的 journalctl 的说明

当今所有现代 Linux 发行版都主要使用 systemd。systemd 提供了运行 Linux 操作系统的基本框架和组件。systemd 通过 journalctl 提供日志服务,这有助于管理来自所有 systemd 服务的日志。您还可以使用以下命令实时监控各个 systemd 服务和日志。

journalctl -f

以下是一些特定的 journalctl 命令,可用于多种情况。您可以将这些与上面的 -f 开关结合使用以开始实时监控。

  • 对于紧急系统消息,请使用:
journalctl -p 0
  • 显示带有解释的错误:
journalctl -xb -p 3
  • 使用时间控件过滤输出:
journalctl --since "2022-07-22 06:00:00"
journalctl --since "2022-07-22" --until "2022-07-25 05:00:00"
journalctl --since yesterday
journalctl --since 08:00 --until "1 hour ago"

如果您想了解有关 journalctl 的更多信息并了解详细信息 – 请参考:如何使用 journalctl 查看和分析 Systemd 日志  https://www.linuxmi.com/journalctl-systemd-logs.html

结语

我希望这些命令和技巧可以帮助您找到桌面或服务器中问题/错误的根本原因。有关更多详细信息,您可以随时参考手册页并使用各种开关。如果您对本文还有其他建议或想法,请在下面的评论栏里告诉我们。

发表回复