Linux 的 5 个开源日志监视和管理工具

当像Linux这样的操作系统运行时,会发生许多事件,并有在后台运行的进程,以实现对系统资源的高效和可靠使用。这些事件可能发生在系统软件中,例如initsystemd进程,也可能发生在用户应用程序中,例如ApacheMySQLFTP等等。

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

你可以想象需要审查来自几个系统区域和应用程序的日志文件,这就是日志记录系统发挥作用的地方。它们帮助监视、审查、分析,甚至从不同的日志文件生成报告,这些都是由系统管理员配置的。

在本文中,我们将介绍当今 Linux 中使用最广泛的四种开源日志管理系统,大多数(如果不是全部)发行版中的标准日志协议是 Syslog

1. ManageEngine EventLog Analyzer

ManageEngine事件日志分析器是一款面向各行业各大小型企业设计的本地日志管理解决方案,涵盖信息技术、医疗、零售、金融、教育等多个领域。该解决方案为用户提供了基于代理和无代理的日志收集、日志解析功能、强大的日志搜索引擎和日志归档选项。

具有网络设备审计功能,用户可以实时监控其端用户设备、防火墙、路由器、交换机等。该解决方案以图形和直观的报告形式显示分析数据。

事件日志分析器的事件检测机制,如事件日志相关性、威胁情报、MITRE ATT&CK框架实施、高级威胁分析等,有助于及时发现安全威胁。

实时警报系统会提醒用户有关可疑活动,以便他们优先处理高风险安全威胁。配备自动化事件响应系统,安全运营中心可以应对潜在威胁。

该解决方案还帮助用户遵守各种IT合规标准,如PCI DSS、ISO 27001、GLBA、SOX、HIPAA、CCPA、GDPR等。根据监控日志来源的数量提供基于订阅的服务。用户可通过电话、产品视频和在线知识库获得支持。

ManageEngine EventLog Analyzer

2. Graylog 2

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

Graylog – Linux Leading Log Management

Graylog帮助您轻松收集来自多个设备的数据,包括网络交换机、路由器和无线访问点。它与Elasticsearch分析引擎集成,并利用MongoDB存储数据,收集的日志提供深入洞察,并有助于排除系统故障和错误。

使用Graylog,您可以获得一个整洁而易用的WebUI,带有酷炫的仪表板,帮助您无缝跟踪数据。此外,您还会获得一套巧妙的工具和功能,有助于合规审计、威胁搜索等等。您可以启用通知,以便在满足特定条件或发生问题时触发警报。

总的来说,Graylog在整理大量数据并简化搜索和分析数据方面做得相当不错。最新版本是Graylog 5.2.4,提供了诸如暗黑模式、与Slack和ElasticSearch的集成等新功能。

3. Logcheck

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

Logcheck Scans System Logs

该日志记录系统中开发了三种不同级别的日志文件过滤,包括:

  • Paranoid:适用于运行尽可能少服务的高安全性系统。
  • 服务器:这是logcheck的默认过滤级别,其规则适用于许多不同的系统守护程序。在偏执级别下定义的规则也包含在此级别下。
  • 工作站:适用于受保护系统,并有助于过滤大多数消息。它还包括在偏执和服务器级别下定义的规则。

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

Logcheck提供以下功能:

  • 预定义的报告模板。
  • A mechanism for filtering logs using regular expressions.
  • 即时电子邮件通知。
  • 即时安全警报。

4. Logwatch

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

Logwatch Linux Log Analyzer

你可以通过修改/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.10版本,它支持直接使用journalctl查询systemd日志。如果你无法负担专有的日志管理工具,Logwatch将让你放心,知道所有事件都将被记录,并在发生问题时发送通知。

5. Logstash

Logstash是一个开源的服务器端数据处理管道,可以接受来自多种来源的数据,包括本地文件或像S3这样的分布式系统。然后,它处理日志并将它们传送到诸如Elasticsearch之类的平台,以便稍后进行分析和归档。它是一个非常强大的工具,因为它可以摄取来自多个应用程序的大量日志,并将它们同时输出到不同的数据库或引擎中。

Logstash: Collect, Parse, and Transform Logs

Logstash可以结构化非结构化数据,并执行地理位置查找、匿名化个人数据,并且可以跨多个节点进行扩展。你可以让Logstash监听各种数据源,包括SNMP、心跳、Syslog、Kafka、puppet、Windows事件日志等。

Logstash依赖于“beats”,这些是轻量级数据传送程序,用于将数据传送给Logstash进行解析和结构化等。然后,数据被发送到其他目的地,例如Google Cloud、MongoDB和Elasticsearch进行索引。Logstash是Elastic Stack的关键组件,允许用户以任何形式整理数据、解析数据,并在交互式仪表板上可视化数据。

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

概要

这就是目前的情况,记住这并不是你可以在 Linux 上使用的所有日志管理系统。我们将在未来的文章中继续审查和更新列表,希望你觉得这篇文章有用,并且你可以通过留下评论告诉我们其他重要的日志工具或系统。

Source:
https://www.tecmint.com/best-linux-log-monitoring-and-management-tools/