蚊章汇 - logwatch
type: channel
link: https://linuxcn.bwsl.wang/tag/logwatch/
items: 如何在 Ubuntu 15.04 系统中安装 Logwatch
items: Linux 系统中使用 logwatch 监控日志文件

如何在 Ubuntu 15.04 系统中安装 Logwatch
type: item
date: 2015-08-31T06:01:06+08:00
description: 大家好，今天我们会讲述在 Ubuntu 15.04 操作系统上如何安装 Logwatch 软件，它也可以在各种 Linux 系统和类 Unix 系统上安装。Logwatch 是一款可定制的日志分析和日志监控报告生成系统，它可以根据一段时间的日志文件生成您所希望关注的详细报告。它具有易安装、易配置、可审查等特性，同时对其提供的数据的安全性上也有一些保障措施。Logwatch 会扫描重要的操作系统组件像 SSH、网站服务等的日志文件，然后生成用户所关心的有价值的条目汇总报告。预安装设置我们会使用 Ubuntu 15.04 版本的操作系统来部署 Logwatch，所以安装 Logwatch 之前，要确保系统上邮件服务设置是正常可用的。因为它会每天把生成的报告通过日报的形式发送邮件给管理员。您的系统的源库也应该设置可用，以便可以从通用源库来安装 Logwatch。然后打开您 ubuntu 系统的终端，用 root 账号登陆，在进入 Logwatch 的安装操作前，先更新您的系统软件包。root@ubuntu-15:~# apt-get update 安装 Logwatch只要你的系统已经更新和已经满足前面说的先决条件，那么就可以在您的机器上输入如下命令来安装 Logwatch。root@ubuntu-15:~# apt-get install logwatch 在安装过程中，一旦您按提示按下“Y”键同意对系统修改的话，Logwatch 将会开始安装一些额外的必须软件包。在安装过程中会根据您机器上的邮件服务器设置情况弹出提示对 Postfix 设置的配置界面。在这篇教程中我们使用最容易的 “仅本地（Local only）” 选项。根据您的基础设施情况也可以选择其它的可选项，然后点击“确定”继续。随后您得选择邮件服务器名，这邮件服务器名也会被其它程序使用，所以它应该是一个完全合格域名/全称域名（FQDN）。一旦按下在 postfix 配置提示底端的 “OK”，安装进程就会用 Postfix 的默认配置来安装，并且完成 Logwatch 的整个安装。您可以在终端下发出如下命令来检查 Logwatch 状态，正常情况下它应该是激活状态。root@ubuntu-15:~# service postfix status 要确认 Logwatch 在默认配置下的安装信息，可以如下示简单的发出“logwatch” 命令。root@ubuntu-15:~# logwatch 上面执行命令的输出就是终端下编制出的报表展现格式。配置 Logwatch在成功安装好 Logwatch 后，我们需要在它的配置文件中做一些修改，配置文件位于如下所示的路径。那么，就让我们用文本编辑器打开它，然后按需要做些变动。root@ubuntu-15:~# vim /usr/share/logwatch/default.conf/logwatch.conf 输出/格式化选项默认情况下 Logwatch 会以无编码的文本打印到标准输出方式。要改为以邮件为默认方式，需设置“Output = mail”，要改为保存成文件方式，需设置“Output = file”。所以您可以根据您的要求设置其默认配置。Output = stdout 如果使用的是因特网电子邮件配置，要用 Html 格式为默认出格式，需要修改成如下行所示的样子。Format = text 现在增加默认的邮件报告接收人地址，可以是本地账号也可以是完整的邮件地址，需要的都可以在这行上写上MailTo = root #MailTo = user@test.com 默认的邮件发送人可以是本地账号，也可以是您需要使用的其它名字。# complete email address. MailFrom = Logwatch 对这个配置文件保存修改，至于其它的参数就让它保持默认，无需改动。调度任务配置现在编辑在 “daily crons” 目录下的 “00logwatch” 文件来配置从 logwatch 生成的报告需要发送的邮件地址。root@ubuntu-15:~# vim /etc/cron.daily/00logwatch 在这儿您需要作用“--mailto user@test.com”来替换掉“--output mail”,然后保存文件。生成报告现在我们在终端中执行“logwatch”命令来生成测试报告，生成的结果在终端中会以文本格式显示出来。root@ubuntu-15:~#logwatch 生成的报告开始部分显示的是执行的时间和日期。它包含不同的部分，每个部分以开始标识开始而以结束标识结束，中间显示的是该部分的完整信息。这儿显示的是开始的样子，它以显示系统上所有安装的软件包的部分开始，如下所示：接下来的部分显示的日志信息是关…

Linux 系统中使用 logwatch 监控日志文件
type: item
date: 2014-12-21T18:51:56+08:00
description: Linux 操作系统和许多应用程序会创建特殊的文件来记录它们的运行事件，这些文件通常被称作“日志”。当要了解操作系统或第三方应用程序的行为或进行故障排查时，这些系统日志或特定的应用程序日志文件是必不可少的的工具。但是，日志文件并没有您们所谓的“清晰”或“容易”这种程度的可读性。手工分析原始的日志文件简直是浪费时间，并且单调乏味。出于这个原因，对于系统管理员来说，发现任何一款能把原始的日志文件转换成更人性化的记录摘要的工具，将会受益无穷。logwatch 是一款用 Perl 语言编写的开源日志解析分析器。它能对原始的日志文件进行解析并转换成结构化格式的文档，也能根据您的使用情况和需求来定制报告。logwatch 的主要目的是生成更易于使用的日志摘要，并不是用来对日志进行实时的处理和监控的。正因为如此，logwatch 通常被设定好时间和频率的自动定时任务来调度运行或者是有需要日志处理的时候从命令行里手动运行。一旦日志报告生成，logwatch 可以通过电子邮件把这报告发送给您，您可以把它保存成文件或者直接显示在屏幕上。Logwatch 报告的详细程度和报告覆盖范围是完全可定制化的。Logwatch 的日志处理引擎也是可扩展的，从某种意义上来说，如果您想在一个新的应用程序中使用 logwatch 功能的话，只需要为这个应用程序的日志文件编写一个日志处理脚本（使用 Perl 语言），然后挂接到 logwatch 上就行。logwatch 有一点不好的就是，在它生成的报告中没有详细的时间戳信息，而原来的日志文件中是存在的。您只能知道被记录下来的一段时间之内的特定事件，如果想要知道精确的时间点的信息，就不得不去查看原日志文件了。安装 Logwatch在 Debian 系统或其派生的系统上:# aptitude install logwatch 在基于 Red Hat 的发布系统上:# yum install logwatch 配置 Logwatch安装时，主要的配置文件（logwatch.conf）被放到 /etc/logwatch/conf 目录中。此文件（默认是空的）定义的设置选项会覆盖掉定义在 /usr/share/logwatch/default.conf/logwatch.conf 文件中的系统级设置。在命令行中，启动 logwatch, 如果不带参数的话，将会使用 /etc/logwatch/conf/logwatch.conf 文件中定义的选项。但，只要一指定参数，它们就会覆盖 /etc/logwatch/conf/logwatch.conf 文件中的任意默认/自定义设置。这篇文章里，我们会编辑 /etc/logwatch/conf/logwatch.conf 文件来对一些默认的设置项做些个性化设置。Detail = <Low, Med, High, 或数字> “Detail” 配置指令控制着 logwatch 报告的详细程度。它可以是个正整数，也可以是分别代表着10、5和0数字的 High、Med、Low 几个选项。MailTo = youremailaddress@yourdomain.com 如果您让把一份 logwatch 的报告邮件给您，就要使用 “MailTo” 这个配置指令。要把一份报告发送给多个用户，只需要把他们的邮件地址用空格格开，然后配置上去。但是，您需要在 logwatch 运行的服务器上配置好本地邮件传输代理（MTA）如，sendmail、 Postfix 等，这个配置指令项才能起作用。Range = <Yesterday|Today|All> "Range" 配置指令定义了生成 logwatch 报告的时间段信息。这个指令通常可选的值是 Yesterday、Today、All。当作用了“Rang = All”时，“Archive = yes” 这个指令项也必须配置上，那么所有的已存档的日志文件 (比如，/var/log/maillog、/var/log/maillog.X 或 /var/log/maillog.X.gz 文件)都会被处理到。除了这些通用的 range 值，您也可以使用复杂点的选择值，如下所示：Range = "2 hours ago for that hour"Range = "-5 days"Range = "between -7 days and -3 days"Range = "since September 15, 2014"Range = "first Friday in October"Range = "2014/10/15 12:50:15 for that second"要使用上面例子中自由形式的 range，您需要从 CPAN（注：Comprehensive Pe…