评论

Linux 中查看和监控错误日志的完整指南

当您的计算机出现问题而您不知道原因时,这是非常令人沮丧的。虽然在 Ubuntu 中可能会遇到的问题并不都有简单的解决方法,但您可以利用 Ubuntu 错误日志等资源来排除故障和诊断计算机问题。

什么是 Ubuntu 日志?

Ubuntu 日志是存储计算机上发生的所有事件记录的综合文件。它包含有关硬件、操作系统甚至一些软件的日志信息。

这些日志对于故障排除和诊断过程至关重要。它们提供时间戳、上下文和关于系统各个事件的详细信息。要使用这些日志,您必须首先了解最重要的几种类型。

Ubuntu 日志的类型

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

也许最重要的日志之一是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

如何在Ubuntu上阅读日志

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

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

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

与纯文本日志不同,二进制文件日志不能轻松阅读。您需要使用诸如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

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

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

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

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

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

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

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

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

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

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

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

感谢 Linux迷 www.linuxmi.com 的精彩分享。

需要Linux 精美艺术壁纸的朋友请加小编微信 linuxgs (口令壁纸)。

来自:Linux迷

链接:https://www.linuxmi.com/ubuntu-error-logs-guide.html

关注我们

Linux公社

关注 Linux公社,添加“ 星标

每天 获取 技术干货,让我们一起成长

合作联系:root@linuxidc.net返回搜狐,查看更多

责任编辑:

平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()
大家都在看
推荐阅读