我有大量访问日志(〜30Gb),我正在寻找查找可疑/机器人IP地址的方法。当然,我们可以用(IP + User_Agent)代替IP。所以我的问题是:
此日志相当大,我认为R lang无法处理它。我应该在R后面使用某种存储方式(hadoop或类似的东西)吗?我绝对没有处理/分析大数据的经验,因此任何想法,建议和评论/文章都值得赞赏。
访问日志可能包含很多数据,根据您的问题,您可能不需要这些数据,如果您只关心请求时间和原始IP,则可以通过从输入中提取“列”来轻松地减少数据大小在将其读入R之前,应使用一些标准命令行工具(例如cut或awk)来解决问题。如果您想保留更多详细信息,另一种选择是将访问日志加载到数据库中并用于进一步处理,对于数据库来说30GB并不多,但这当然意味着一些额外的工作:设计datbase模式和一个在数据库中加载数据的方法。
您也可以进行以下类型的分析
WSO2已使用其Analytics(分析)平台完成了一些异常检测工作,该平台可针对大多数异常检测方案进行很好的扩展。签出-http://wso2.com/analytics/solutions/fraud-and-anomaly-detection-solution/这可能比通过R更好,因为它允许您执行复杂的事件处理(通过类似查询的SQL)以及机器学习。
您也可以进行以下类型的分析
a)如果IP地址来自数据中心范围,则它可能是来自漫游器的,而不是来自普通用户。
b)如果IP地址来自搜索引擎范围,则很有可能来自搜索引擎机器人。
您可以从IP2Location获取地理位置数据库,该数据库具有使用类型信息来检测数据中心或搜索引擎。
检查goaccess.io-为我工作。具有用于不同网站的日志,分布在多个服务器上。允许使用GEOiP并开箱即用地识别机器人。