当Linux等操作系统运行时,会发生许多事件和在后台运行的进程,以实现系统资源的高效和可靠使用。这些事件可能发生在系统软件中,例如init或systemd进程或用户应用程序,如Apache、MySQL、FTP等。
为了了解系统和不同应用程序的状态以及它们的工作方式,系统管理员必须每天在生产环境中不断查看日志文件,其中包括来自多个系统区域和应用程序的日志文件,这就是日志系统派上用场的地方。Linux服务器日志文件有助于监控、审查、分析,甚至根据系统管理员配置的不同日志文件生成报告。
在本文中,小编主要介绍5个比较用的Linux服务器开源日志监控和管理工具软件,如今今大多数(当然不是全部)Linux发行版中的标准日志记录协议是Syslog。
ManageEngine EventLog Analyzer
ManageEngine EventLog Analyzer是一种本地日志管理解决方案,专为信息技术、健康、零售、金融、教育等各个行业的各种规模的企业而设计。该解决方案为用户提供基于代理和无代理的日志收集、日志解析功能、强大的日志搜索引擎和日志归档选项。
借助网络设备审计功能,它使用户能够实时监控其最终用户设备、防火墙、路由器、交换机等。该解决方案以图表和直观报告的形式显示分析数据。
EventLog Analyzer的事件检测机制,如事件日志关联、威胁情报、MITRE ATT和CK框架实施、高级威胁分析等,有助于在安全威胁发生时第一时间发现它们。此外,实时警报系统会就可疑活动向用户发出警报,以便他们可以优先处理高风险安全威胁。而借助自动化事件响应系统,SOC可以减轻潜在威胁。
该软件工具还帮助用户遵守各种IT合规性标准,例如PCI DSS、ISO 27001、GLBA、SOX、HIPAA、CCPA、GDPR等。根据要监视的日志源的数量提供基于订阅的服务。
2、Graylog 2
Graylog是领先的开源和强大的集中式日志管理工具,广泛用于收集和审查各种环境(包括测试和生产环境)中的日志。它易于设置,强烈建议小型企业使用。
Graylog可帮助用户轻松地从多个设备(包括网络交换机、路由器和无线接入点)收集数据。它与Elasticsearch分析引擎集成,并利用MongoDB存储数据,收集的日志提供深入的洞察力,有助于排除系统故障和错误。
使用Graylog,用户将获得一个简洁体验度高的Web UI,其中包含可帮助用户无缝跟踪数据的炫酷仪表板。此外,还可以获得一组有助于合规性审计、威胁搜索等的漂亮工具和功能。如果启用通知,在满足特定条件或出现问题时触发警报。
总的来说,Graylog在整理大量数据并简化搜索和分析数据方面做得很好。最新版本是Graylog4.0,提供了新功能,例如暗模式、与Slack 和ElasticSearch 7的集成等等。
3、Logcheck
Logcheck是另一种作为cron作业运行的开源日志监控工具,它筛选数千个日志文件以检测触发的违规或系统事件。Logcheck然后将警报的详细摘要发送到配置的电子邮件地址,以提醒Linux管理员注意未经授权的违规或系统故障等问题。
Logcheck日志系统开发了三种不同级别的日志文件过滤,分别包括:
- Paranoid(偏执级别):适用于尽可能少运行服务的高安全性系统。
- Server(服务器):这是logcheck的默认过滤级别,它的规则是为许多不同的系统守护进程定义的。偏执级别下定义的规则也包含在该级别下。
- Workstation(工作站):它用于受保护的系统,有助于过滤大部分消息。它还包括在偏执和服务器级别下定义的规则。
此外,Logcheck还能够将要报告的消息分类为三个可能的层,包括安全事件、系统事件和系统攻击警报。Linux系统管理员可以根据过滤级别选择报告系统事件的详细级别,但这不会影响安全事件和系统攻击警报。
Logcheck主要提供以下功能:
- 预定义的报告模板。
- 一种使用正则表达式过滤日志的机制。
- 即时电子邮件通知。
- 即时安全警报。
4、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日志。
5、Logstash
Logstash是一种开源服务器端数据处理管道,它接受来自多种来源的数据,包括本地文件或S3等分布式系统。它会处理日志并将它们传送到Elasticsearch等平台,稍后在这些平台上进行分析和存档。
Logstash是一个非常强大的工具,因为它可以从多个应用程序中提取大量日志,然后将它们同时输出到不同的数据库或引擎。
Logstash构建非结构化数据并执行地理位置查找、匿名化个人数据以及跨多个节点进行扩展。有大量的数据源列表,用户可以让Logstash监听管道,包括 SNMP、Heartbeats、Syslog、Kafka、puppet、Windows事件日志等。
Logstash依赖于“ beats ”,它是轻量级数据传送器,将数据提供给Logstash进行解析和结构化。然后数据被发送到其它目的地,例如Google Cloud、MongoDB和Elasticsearch以进行索引。Logstash是Elastic Stack的一个关键组件,它允许用户以任何形式整理数据、解析数据并在交互式仪表板上可视化。
更重要的是,Logstash享有广泛的社区支持和定期更新。
总结
以上就是整理的几个相对比较好用的Linux服务器开源日志监控和管理工具,当然,这些并不是可以在Linux系统上使用的所有可用日志管理系统。由于Linux服务器日志监控和管理工具还有很多,后面小编将继续在本文添加更新,欢迎关注本页面。