如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具

简介


应用程序创建所谓的“日志文件”来跟踪任何给定时间发生的活动。这些文件远非简单的文本输出,对于管理的服务器来说,要浏览它们可能会非常复杂,特别是当服务器很忙碌时。

当需要参考日志文件(例如在发生故障、数据丢失等情况下),利用所有可用的帮助变得至关重要。能够快速理解(解析)它们对过去事件的描述,并分析当时发生了什么,对于找到解决方案变得非常重要。

在我们之前关于 Linux 系统加固、安全监控和发送警报的文章之后,本文将介绍 Logwatch:一个非常强大的日志解析器和分析器,可以在处理应用程序相关任务和问题时,让任何专职系统管理员的生活变得更加轻松。

日志文件


就像星际飞船的黑匣子一样,为了保持系统(即服务器)运行,管理员们今天仍然依赖日志。开玩笑的话题放在一边,这些应用程序生成的文件在追溯和理解过去发生的事情方面起着决定性作用,用于完整/部分数据恢复(例如从事务日志中)、性能或策略相关分析(例如从服务器日志中)或未来的修改(例如从访问日志中)。

简而言之,日志文件将包含在给定时间范围内发生的操作和事件。

一个良好的日志文件应尽可能详细,以帮助负责维护系统的管理员找到特定目的所需的确切信息。正因为这个原因,日志文件通常并不简洁,它们包含大量的重复和大量(主要是)冗余条目,需要经过彻底的分析和过滤才能对人类有意义。

这就是 Logwatch,一个专门设计用于这项工作的计算机应用程序。

进入 Logwatch


日志管理主要包括搜索、日志轮换/保留和报告。Logwatch 是一个应用程序,通过每日分析和报告机器上发生的活动的简短摘要,帮助简化日志管理。

Logwatch 生成的报告按照系统上运行的服务(即应用程序)进行分类,可以通过修改其相对简单的配置文件来配置包含您喜欢的服务或所有服务的报告。此外,Logwatch 允许创建用于特定需求的自定义分析脚本。

安装 Logwatch


请注意: Logwatch 是一个无害的应用程序,不应干扰您当前的服务或工作负载。但是,建议您首先在新系统上尝试,并确保进行备份。

在 CentOS / RHEL 上


在基于 RHEL 的系统(例如 CentOS)上安装 Logwatch 非常简单。由于它是由各种 Perl 脚本组成的应用程序,因此需要某些相关的依赖项。由于我们将使用 yum 软件包管理器,这将自动处理。除非您已经安装了 mailx,否则 Logwatch 在安装过程中也会为您下载它。

要在 CentOS / RHEL 上安装 Logwatch,请运行以下命令:

$ yum install -y logwatch

在 Ubuntu / Debian 上


获取 Debian 系统(例如 Ubuntu)上的 Logwatch 与上述过程非常相似,除了软件包管理器(aptitude v. yum)的差异。

要在 Ubuntu / Debian 上安装 Logwatch,请运行以下命令:

$ aptitude install -y logwatch

配置 Logwatch


尽管在每次运行期间可以手动覆盖其设置,但通常情况下,您会希望 Logwatch 每天运行,使用常见配置。

设置 Logwatch 的常见配置


Logwatch 的默认配置文件位于:

/usr/share/logwatch/default.conf/logwatch.conf

让我们使用 nano 文本编辑器打开此文件以修改其内容:

$ nano /usr/share/logwatch/default.conf/logwatch.conf

运行上述命令后,您将看到应用程序每次运行时使用的一长串变量,无论是自动还是手动运行。

为了开始使用它,我们需要对这些默认值进行一些更改。

请记住,将来您可能需要返回来修改此处定义的某些设置。所有由 Logwatch 分析的服务(应用程序)都列在此文件中,如上所述(配置 #5)。当您安装或删除虚拟服务器上的应用程序时,您可以通过在此处更改设置来继续接收**所有一些*服务的报告(见下文)。

我们需要设置的重要选项:

请注意: 当您进行以下更改时,您需要使用箭头键上下移动行。完成更改(项目 1 - 6)后,您需要按下 CTRL+X,然后确认使用 Y 保存并关闭。更改将在下次运行 logwatch 时自动生效。

1. 每日摘要(报告)发送的电子邮件地址:

MailTo = root

root 替换为您的电子邮件地址。

示例: MailTo = sysadmin@mydomain.com

2. 这些报告的发件人电子邮件地址:

MailFrom = Logwatch

您可能希望再次将 Logwatch 替换为您自己的。

示例: MailFrom = sysadmin@mydomain.com

3. 设置报告的范围

Range = yesterday

您可以选择接收**所有(从一开始可用的所有)、Today(仅今天)或Yesterday**(仅昨天)的报告。

示例: Range = Today

4. 设置报告的详细程度:

Detail = Low

您可以在此处修改报告的详细程度。选项有:LowMediumHigh

示例: Detail = Medium

5. 设置要分析的服务(应用程序):

默认情况下,Logwatch 包含了非常广泛的服务。如果您想查看完整列表,可以查询位于 /usr/share/logwatch/scripts/services 的文件 scripts/services 的内容。

示例: ls -l /usr/share/logwatch/scripts/services

Service = All

您可以选择接收所有服务或一些特定服务的报告。

对于所有服务,请保持行为: Service = All

如果您希望接收特定服务的报告,类似于以下示例,将每个服务列在新行上(例如 Service = [name])。

示例:

Service = sendmail
Service = http
Service = identd
Service = sshd2
Service = sudo
..

6. 禁用每日报告:

# DailyReport = No

如果您希望生成每日报告,您应取消注释此行。

示例: DailyReport = No 而不是 # DailyReport = No

就是这样!在进行这些更改后,您将自动收到来自服务器日志文件的每日报告。

要了解更多关于 Logwatch 和创建自定义服务以接收报告的信息,您可以访问其完整文档,点击这里。

手动运行 Logwatch


应该提到,您可以通过命令行在需要时手动运行 Logwatch。

以下是[文档中提供的可用选项]:

logwatch  [--detail  level  ] [--logfile log-file-group ] [--service service-name ] [--print]
   [--mailto address ] [--archives] [--range range  ]  [--debug  level  ]  [--save  file-name  ]
   [--logdir  directory ] [--hostname hostname ] [--splithosts] [--multiemail] [--output output-
   type ] [--numeric] [--no-oldfiles-log] [--version] [--help|--usage]

除非您指定选项,否则将从配置文件中读取。

示例:

$ logwatch --detail Low --mailto email@address --service http --range today

以下是 Logwatch 报告的样例:

################### Logwatch 7.3.6 (05/19/07) ####################
        处理启动时间: Wed Nov 15 15:07:00 2013
        处理的日期范围: 今天
                              ( 2013-Nov-15 )
                              周期为一天。
      输出的详细级别: 0
              输出类型: 未格式化
           主机的日志文件: host_name
                 ##################################################################
    
 --------------------- Postfix 开始 ------------------------
    3.453K  字节被接受                             3,536
    3.453K  字节被传送                             3,536
 ========   ================================================
        3   被接受                                 100.00%
 --------   ------------------------------------------------
        3   总计                                   100.00%
 ========   ================================================
        3   从队列中移除
        2   已传送
        1   通过 SMTP 发送
        1   连接失败 (出站)
        1   Postfix 启动
 ---------------------- Postfix 结束 -------------------------
 --------------------- 连接 (secure-log) 开始 ------------------------
 新用户:
    apache (48)
 新组:
    apache (48)
 **未匹配的条目**
    groupadd: 添加到 /etc/group 的组: name=apache, GID=48: 1 次
    groupadd: 添加到 /etc/gshadow 的组: name=apache: 1 次
 ---------------------- 连接 (secure-log) 结束 -------------------------
 --------------------- SSHD 开始 ------------------------
 SSHD 启动: 2 次
 通过 sshd 登录的用户:
    root:
       ip_addr (ip_addr): 1 次
 ---------------------- SSHD 结束 -------------------------
    
 --------------------- yum 开始 ------------------------
 安装的软件包:
    apr-1.3.9-5.el6_2.x86_64
    apr-util-1.3.9-3.el6_0.1.x86_64
    perl-YAML-Syck-1.07-4.el6.x86_64
    4:perl-5.10.1-131.el6_4.x86_64
    mailx-12.4-6.el6.x86_64
    1:perl-Pod-Simple-3.13-131.el6_4.x86_64
    1:perl-Pod-Escapes-1.04-131.el6_4.x86_64
    3:perl-version-0.77-131.el6_4.x86_64
    httpd-2.2.15-29.el6.centos.x86_64
    4:perl-libs-5.10.1-131.el6_4.x86_64
    mailcap-2.1.31-2.el6.noarch
    perl-Date-Manip-6.24-1.el6.noarch
    1:perl-Module-Pluggable-3.90-131.el6_4.x86_64
    httpd-tools-2.2.15-29.el6.centos.x86_64
    apr-util-ldap-1.3.9-3.el6_0.1.x86_64
    logwatch-7.3.6-49.el6.noarch
 ---------------------- yum 结束 -------------------------


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
Prometheus Cloud Native Perl
评测Loki日志工具
评测Loki日志工具
64 0
|
2月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
2月前
|
存储 Ubuntu Apache
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Apache 的日志记录和日志轮转
35 6
|
2月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
20 4
|
2月前
|
NoSQL Ubuntu Java
如何在 Ubuntu 14.04 上安装 Graylog2 并实现日志集中管理
如何在 Ubuntu 14.04 上安装 Graylog2 并实现日志集中管理
26 1
|
2月前
|
运维 监控 Ubuntu
一键启动日志魔法:揭秘ELK自动安装脚本的神秘面纱!
【8月更文挑战第9天】在数据驱动时代,高效处理日志至关重要。ELK Stack(Elasticsearch、Logstash、Kibana)是强大的日志分析工具,但其复杂的安装配置常让初学者望而却步。本文介绍如何编写ELK自动安装脚本,简化部署流程。脚本适用于Ubuntu系统,自动完成ELK下载、安装及基本配置,包括依赖项安装、服务启动及自启设置,极大降低了使用门槛,助力运维人员和开发者轻松构建日志分析平台。
110 6
|
2月前
|
监控 关系型数据库 Linux
Linux日志管理工具:Logrotate(二)
Linux日志管理工具:Logrotate(二)
77 2
|
2月前
|
Prometheus 监控 安全
|
2月前
|
存储 监控 数据可视化
在Linux中,有哪些日志管理和分析工具?
在Linux中,有哪些日志管理和分析工具?
|
2月前
|
存储 监控 安全
Linux日志管理工具:Logrotate(一)
Linux日志管理工具:Logrotate(一)
123 0