帮助中心

产品使用与售后服务帮助

当前位置:首页 > 帮助中心> 4个开源的Linux服务器日志监控与管理工具

4个开源的Linux服务器日志监控与管理工具

发布时间:2021-02-23 09:39 来源:A5数据

当一个服务器操作系统(如Linux)运行时,有许多事件发生,有许多进程在后台运行,以使系统资源有效和可靠运行。这些事件可能发生在系统软件中,例如init或systemd进程,也可能发生在用户应用程序中,例如Apache、MySQL、FTP等等。

为了了解服务器系统和不同应用程序的状态以及它们是如何工作的,系统管理员必须在生产环境中每天不断审查日志文件。

你可以想象,必须审查来自多个系统区域和应用程序的日志文件,这就是日志系统的用武之地。它们有助于监控、审查、分析,甚至按照系统管理员的配置从不同的日志文件中生成报告。

本文将介绍当今Linux中常用的的4个开源日志管理系统,大多数标准日志协议是Syslog。

1. Graylog 2

Graylog是一款领先的开源且强大的集中式日志管理工具,广泛用于收集和审查各种环境下的日志,包括测试和生产环境。它易于设置,强烈建议小型企业使用

Graylog可以帮助你轻松地从多个设备收集数据,包括网络交换机、路由器和无线接入点。它集成了Elasticsearch分析引擎,并利用MongoDB来存储数据,收集到的日志提供了深刻的见解,并有助于排除系统故障和错误。

有了Graylog,你会得到一个干净利落的WebUI,其酷炫的仪表盘可以帮助你无缝跟踪数据。此外,你还可以获得一套精巧的工具和功能,帮助进行合规性审计、威胁搜索等。你可以以这样的方式启用通知,当满足某个条件或发生某个问题时,就会触发警报。

总的来说,Graylog在整理大量数据方面做得相当不错,并且简化了数据的搜索和分析。最新的版本是Graylog 4.0,提供了一些新的功能,比如黑暗模式、与slack和ElasticSearch 7整合等等。

2. Logcheck

Logcheck是另一个开源的日志监控工具,它以cron作业的方式运行。它通过筛选成千上万的日志文件来检测违规行为或系统事件的触发。然后,Logcheck会将警报的详细摘要发送到一个配置的电子邮件地址,以提醒运营团队注意一个问题,如未经授权的违规行为或系统故障。

在这个日志系统中开发了三种不同级别的日志文件过滤,其中包括。

Paranoid:是针对高安全性的系统,尽可能少的运行服务。

服务器:这是logcheck的默认过滤级别,其规则是针对许多不同的系统守护进程定义的。在paranoid级别下定义的规则也包含在这个级别下。

工作站:它是针对受保护的系统,有助于过滤大部分的消息。它也包括在paranoid和服务器级别下定义的规则。

Logcheck还能够将消息分类报告到三个可能的层级,包括安全事件、系统事件和系统攻击警报。系统管理员可以根据过滤级别选择系统事件报告的详细程度,但这不影响安全事件和系统攻击警报。

Logcheck提供了以下功能。

预定义的报告模板。

使用正则表达式过滤日志的机制。

即时的电子邮件通知。

即时安全警报。

3. Logwatch

Logwatch是一个开源的、可定制的日志收集和分析应用程序。它可以分析系统和应用程序的日志,并生成一份关于应用程序运行情况的报告。报告可以通过命令行或专用的电子邮件地址发送。

通过修改/etc/logwatch/conf中的参数,你可以很容易地根据自己的喜好定制Logwatch。此外,它还提供了一些额外的预写PERL脚本,使日志解析更加容易。

Logwatch采用了分层的方式,主要有3个地方定义了配置细节。

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

/etc/logwatch/conf/dist.conf/*

/etc/logwatch/conf/*

所有的默认设置都在/usr/share/logwatch/default.conf/logwatch.conf文件中定义。我们推荐的做法是保留这个文件,并在/etc/logwatch/conf/路径下创建自己的配置文件,复制原始配置文件,然后定义自己的设置。

Logwatch的最新版本是7.5.5,它提供了直接使用journalctl查询systemd日志的功能。如果你没有购买专用的日志管理工具,那么Logwatch可以让你放心,因为你知道所有的事件都会被记录下来,并在出现问题时发出通知。

4. Logstash

Logstash是一个开源的服务器端数据处理管道,它接受来自多种来源的数据,包括本地文件,或分布式系统,如S3。然后,它对日志进行处理,并将它们输送到Elasticsearch等平台,在那里对它们进行分析和存档。这是一个相当强大的工具,因为它可以从多个应用程序中摄取大量的日志,随后将它们同时输出到不同的数据库或引擎。

Logstash将非结构化数据结构化,并执行地理位置查询,将个人数据匿名化,并且也可以跨多个节点扩展。有一个广泛的数据源列表,你可以让Logstash监听管道,包括SNMP、心跳、Syslog、Kafka、puppet、windows事件日志等。

Logstash依赖于 "beats",beats是轻量级的数据运送器,它将数据送入Logstash进行解析和结构化等。然后,数据被发送到其他目的地,如Google Cloud、MongoDB和Elasticsearch进行索引。Logstash是Elastic Stack的一个关键组件,它允许用户以任何形式整理数据、解析数据并在交互式仪表盘上进行可视化。

更重要的是,Logstash享有广泛的社区支持和定期更新。