良许Linux教程网 干货合集 Ubuntu 日志入门:如何查看和监控系统错误

Ubuntu 日志入门:如何查看和监控系统错误

Ubuntu 是一款流行的 Linux 发行版,它提供了一个稳定、安全和易用的操作系统。但是,任何系统都可能遇到一些问题,比如软件崩溃、硬件故障或者配置错误。这时候,你需要知道如何查看和监控 Ubuntu 的日志文件,以便找出问题的原因和解决方案。日志文件是记录系统中发生的各种事件的文件,它们包含了有关硬件、操作系统和应用程序的详细信息。通过阅读日志文件,你可以了解系统的运行状况、发现潜在的问题、分析性能数据或者追踪安全事件。在本文中,我们将介绍 Ubuntu 日志文件的类型、位置、查看方法和监控工具,帮助你更好地管理你的 Ubuntu 系统。

Ubuntu 日志的类型

Ubuntu 不会将所有信息都写入一个日志中,而是将信息记录在专门用于不同目的的分离日志中。虽然无法列出所有日志,但在您尝试使用它们进行故障排除之前,有几个重要的日志(和日志类型)您应该知道。

image-20230621213152210
image-20230621213152210

也许最重要的日志之一是 systemd 日志。systemd 是 Linux 中的一个重要服务管理器。因此,许多不同操作系统服务的问题都记录在 systemd 日志中。您可以使用 journalctl 命令浏览此日志。

更多参考:如何使用 journalctl 查看和分析 Systemd https://www.linuxmi.com/journalctl-systemd-logs.html

系统日志也非常重要。这些日志直接与Ubuntu的不同部分相关,可能包括系统消息等内容。其中一些系统日志包括:

  • 授权日志:记录需要授权的任何进程,例如sudo命令或用户登录。
  • 守护进程日志:此日志与后台服务(或守护进程)相关,例如蓝牙和SSH。
  • 调试日志:此日志提供系统和应用程序记录到syslogd的调试信息。
  • 内核日志:此日志包括涉及Linux内核的活动记录。
  • 系统日志:此日志存储包括系统上大多数类型的全局活动的记录。
  • 失败日志:此日志存储登录失败的记录,因此在检查是否有人试图入侵您的系统时特别有用。

您的计算机可能还有存储在/var/log目录中的应用程序日志(例如Apache日志文件或MySQL日志文件)。您可以使用ls命令查看当前存储在计算机上的所有日志文件。

ls /var/log

image-20230621213159237

如何在 Ubuntu 上阅读日志

现在您已经熟悉系统上不同类型的日志,您可以深入了解它们存储的信息。在开始之前,重要的是要注意,并非所有系统日志都以相同的方式编写。

一些日志以纯文本文件的形式存储,而其他日志则以二进制文件的形式存储。如果您想有效地解析系统上的记录,您需要熟悉这两种文件类型以及它们配对使用的命令行工具。

纯文本文件日志使用一个称为 RSYSLOG_TraditionalFileFormat 的模板,并包括四个基本字段:时间戳、主机名、应用程序和消息。例如,内核日志使用如下模板。

image-20230621213207937
image-20230621213207937

与纯文本日志不同,二进制文件日志不能轻松阅读。您需要使用诸如who、last和lastb之类的命令行实用工具来分别读取utmp、wtmp和btmp等日志。类似于utmp变体的utmpdump命令和journald的systemctl命令也可以以可读格式打印二进制日志信息。

在大多数情况下,了解如何在终端中有效解析这些日志将非常重要。您可以使用诸如grep和tail之类的命令提取特定信息,而无需费力地阅读整个系统日志。

您可以使用以下一些最佳命令:

grep: 在文件中搜索一串字符
tail: 打印文件末尾的10行
head: 打印文件开头的10行
sort: 根据您的要求重新组织打印文件

像utmpdump和systemctl这样的命令行工具在终端中使用时还具有有用的选项,您在使用时应牢记这些选项。这些选项将允许您修改命令并对在终端中打印的内容具有更高的控制权。

对于journalctl命令,一些特别有用的选项是:

-b: 使journalctl仅返回在最后一次重启后收集的条目
–since “YYYY-MM-DD HH:MM:SS” –until “YYYY-MM-DD HH:MM:SS”: 指示journalctl仅返回指定日期之前和/或之后的条目
-p NUM: 按照它们的syslog优先级级别(范围从0/emerg到7/debug)过滤条目

排查 Ubuntu 日志的错误

通过了解不同类型的系统日志并知道如何有效地阅读日志,现在您只需要将收集到的信息应用于故障排除过程中。这个过程通常需要一些创造力。

最好的做法是首先思考您所遇到的问题的显著特征。当您打开特定应用程序时是否发生问题?每次问题发生时系统是否崩溃并重新启动?

当您考虑问题的特征时,自然会引导您查找一些最适合提取信息的日志。例如,如果您的系统在引导过程中出现问题,您可以通过参考journald中的引导条目获得一些有用的信息。

输入以下命令以打印journald中记录的所有引导项:

linuxmi@linuxmi:~/www.linuxmi.com$ journalctl --list-boots
image-20230621213213773
image-20230621213213773

终端将打印一个记录的引导项列表;最近的引导项将在列表底部。查看每个引导项的记录日期和时间,直到找到发生错误的记录引导项。

将最左列的数字作为NUM,并输入以下命令以获取有关引导项的更多信息:

linuxmi@linuxmi:~/www.linuxmi.com$ journalctl -b -NUM -n
image-20230621213218704
image-20230621213218704

将显示关于引导项的详细记录。如果在引导过程中发生任何异常错误,您可以使用此记录中的信息进一步进行故障排除。

同样的原则也适用于许多其他问题。然而,如果您对计算机所遇到的问题了解不多,可能很难知道从哪里开始。有一些日志在解决Ubuntu系统的各种问题时非常有帮助。

在故障排除过程中,syslog是最好的起点日志。由于它实际上是一个全局日志,它很可能包含有关您所遇到问题的一些信息。如果您遇到身份验证问题(例如sudo密码不起作用错误)或引导问题,则请检查auth.log或boot.log。

使用与您的问题相关的关键字在最相关的日志中进行搜索。例如,如果您遇到身份验证问题,可以使用以下命令从auth.log中提取记录:

linuxmi@linuxmi:~/www.linuxmi.com$ cat /var/log/auth.log | grep 'Authentication failure'

最终,您肯定会找到提供极好见解的信息。当您将错误日志中的信息与网络上的研究相结合时,很可能会找到帮助您迅速解决系统问题的资源。

参考在线资源以排除Linux错误

您无需独自进行故障排除过程。当您收集有关计算机问题的信息时,可以参考Linux迷www.linuxmi.com等在线资源,以更接近最终诊断和修复您的计算机。

在本文中,我们学习了 Ubuntu 日志文件的基本知识,包括它们的类型、位置、查看方法和监控工具。我们了解了如何使用 GNOME 系统日志查看器和命令行工具来浏览和过滤日志文件,以及如何使用 tail 和 less 命令来实时监控日志文件。我们还介绍了一些高级的日志管理工具,比如 logrotate 和 rsyslog,它们可以帮助你自动清理、归档和转发日志文件。通过掌握这些技能,你可以更好地排除故障、诊断问题和优化你的 Ubuntu 系统。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部