Logwatch:强大的 Linux 系统日志分析器和报告器

如果您是系统管理员,您可能会知道日志文件的重要性以及分析它们时所经历的痛苦,尤其是在您处理繁忙的服务器时。 幸运的是,有一些工具可以让你的生活变得轻松,其中之一是 Logwatch,一个用于在 Linux 中进行日志分析和报告的命令行工具。

在本文中,我们将讨论此工具的基础知识以及它提供的功能。

笔记:本文讨论的所有示例均在 Ubuntu 14.04 和 GNU 上测试 bash,版本 4.3.11(1)。 不过,Logwatch 可用于大多数 Linux 发行版。

安装

Logwatch 命令可以在大多数 Linux 发行版的存储库中找到,可以使用以下命令进行安装。

基于 Ubuntu 或 Debian 的发行版:

或者

对于 Centos, Fedora 或基于 Redhat 的发行版。

您也可以从其源代码安装它 官方项目页面.

日志观察

Logwatch 基本上旨在帮助进行系统日志管理。 它能够在给定的时间段内浏览您的日志,并在您希望的区域以您希望的详细信息进行报告。 以下是一些解释其用法的示例:

获取所有信息

默认情况下,Logwatch 工具会分析和报告与各种服务相关的日志。 为了 example,这是在没有任何选项的情况下运行命令时的输出:

可以看到,输出的信息比较大,不方便在终端屏幕上查看。 因此,最好将其重定向到文本文件以便于查看。

日志观察输出

上面的屏幕截图应该让您了解 Logwatch 创建的报告类型。 顶部的标题为您提供了命令默认配置的摘要。 为了 example,“Processing Initiated 字段”包含有关执行命令的日期和时间的信息,“Date Range Processed”字段包含有关所分析日志的时间段的信息,“Detail Level of Output”字段包含有关报告的详细级别,最后两个字段包含有关输出格式和本地主机的信息。

在所有这些信息之后,实际报告开始,其中日志根据服务进行隔离。 为了 example,这里的第一个服务是dpkg status,其次是Kernel,pam_unix,Connections, sudo, 和更多。

将输出限制为特定服务

如果需要,您可以将命令的输出限制为特定服务。 这可以通过使用 --service 选项。 这是一个 example:

日志观察选择服务

因此,您可以看到该命令仅生成了特定于 pam_unix 服务的报告。

指定详细程度

该命令还允许您使用 --detail 选项。 此选项的参数可以是 high、med 或 low,分别对应于整数 10、5 和 0。

从一开始就很清楚 example 本文讨论的默认详细级别为 0。这是内核服务命令的默认输出:

logwatch 内核

这是详细级别明确设置为 10 或高时的输出:

logwatch-kernel-2

所以你可以看到,随着详细级别从 0 增加到 10,命令产生的信息也增加了。

指定日期范围

您还可以指定要处理的日期范围,这意味着您可以为命令提供处理日志条目的时间范围。 这可以通过使用 --range 选项。 常见范围是昨天、今天和全部。 这是一个 example:

日志观察范围

将报告发送到电子邮件地址

Logwatch 还能够将报告邮寄到特定的电子邮件地址。 这可以通过使用 --mailto 选项。 这是一个 example:

上面的命令将报告发送到电子邮件帐户。 您可能应该检查您的垃圾邮件文件夹中的电子邮件,因为 Gmail 已将其标记为我的电子邮件帐户的垃圾邮件。

logwatch-电子邮件

有关 Logwatch 的更多信息,请通过命令的 手册页.

结论

如果您正在寻找可以扫描系统日志文件并以人类可读形式显示信息的命令行工具,请尝试使用 Logwatch。 它可以很容易地被认为是用于通用日志文件解析和过滤的最有用的命令行工具之一。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅