我每天产生 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