我每天产生 2 GB 的 Web 服务器日志,如何过滤它们?

Posted

技术标签:

【中文标题】我每天产生 2 GB 的 Web 服务器日志,如何过滤它们?【英文标题】:I have 2 GB of web server logs produced each day how to filter them? 【发布时间】:2016-07-29 16:20:28 【问题描述】:

我有网络服务器,其他网站使用一些 GET 参数重定向到该服务器。 我的情况:

目前我每天生成 2 GB 的 Web 服务器日志。 我需要过滤至少半年的日志(约 350 GB 的日志)。 我正在使用 Amazon 基础设施将日志存储在 S3 存储桶上。我有两个正在写入日志的 Web 服务器。

我应该使用哪种技术来查询/过滤这些数据?以前我在一台 ubuntu 机器上下载文件,然后 grep 得到结果。我也在 AWS 上测试了 Hadoop,但我发现它很难使用。

什么技术/解决方案在以下方面是最好的:

    过滤速度 简单易学 轻松更改过滤规则

感谢您对此事的关注

【问题讨论】:

查看这篇文章aws.amazon.com/articles/Elastic-MapReduce/2440 谢谢@error2007s 我会尝试几天并将我的反馈意见放在这里。 【参考方案1】:

在您的情况下,我会推荐 Elasticsearch(支持与多个 AWS 集成)。

它使用简单、速度足够快、可扩展,并且它有很棒的插件,叫做 kibana 和 logstash。

第一个用于可视化,第二个用于日志解析/过滤,它有一个配置文件,您可以在其中随意更改过滤器。

Here 一个很好的教程,让你可以开始使用logstash。

【讨论】:

【参考方案2】:

您可以使用 AWS 云观察日志流;正确地,它是为您的需要而创建的。 您可以创建日志流,并使用客户端(您的网络服务器)上的小代码,您可以自动将日志推送到云手表。

将日志数据发送到云手表后,您可以从日志文件中搜索、过滤、创建指标和仪表板。

例如,您想在您的日志中统计所有“登录失败”,或者您想计算您的 Web 服务器下游大小或任何其他指标。

非常简单快捷。

还可以使用 Cloud Watch,您可以创建警报并在日志文件中发生某些事情时接收警报。

最后,您可以根据您的日志指标创建一个漂亮的仪表板。

享受云看!!

更多信息:

https://aws.amazon.com/cloudwatch/

http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html

【讨论】:

最终我使用了 AWS 云监视日志,因为它易于设置并为我提供了基本的过滤选项,对我来说最大的优势是其他用户可以在不了解 *nix 控制台的情况下使用它。

以上是关于我每天产生 2 GB 的 Web 服务器日志,如何过滤它们?的主要内容,如果未能解决你的问题,请参考以下文章

如何过滤 EventLog 以每天获取一个日志 - PowerShell

ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台

用于 Web 访问日志的实时数据仓库

SQL Server 日志文件快速增长

AWStats日志分析Apache提供的Web站点访问情况

查看oracle每天及每小时产生归档日志的数据量