类似于日志资源管理器的GROUP BY



我正在努力了解我的网站上可疑流量的详细信息,该网站正在谷歌云上运行(更具体地说,是Java版的谷歌应用引擎(。一个想法是分析哪些IP地址经常发送请求。在SQL中,我会做一些类似的事情

SELECT 
protoPayload.ip,
COUNT(protoPayload.ip) AS `ip_occurrence` 
FROM 
foo /* TODO replace foo with correct table name */ 
WHERE 
protoPayload.ip NOT LIKE '66.249.77.%' /* ignore Google bots */
GROUP BY 
protoPayload.ip
ORDER BY 
`ip_occurrence` DESC
LIMIT 100

但我不知道如何使用日志资源管理器来做到这一点。"日志分析"似乎允许这样的SQL,但要求仅在非生产项目中使用。

我也试着从日志资源管理器下载日志,但有10000个日志的限制,这根本不够。

有什么简单的方法吗?

从更大的角度来看,我正在尝试重新打开我的AdSense帐户。到目前为止,我失败了。也许我提供的证据,我的谷歌分析数据,还不够有力。表单上的字段描述提到了IP地址。但在谷歌分析中,我看不到任何IP地址。。。

日志浏览器允许您创建一些简单的日志浏览器查询以进行筛选,但不会有任何Group By的可能性。

要实现类似的效果,您可以使用Sink:

接收器控制云日志路由日志的方式。使用接收器,您可以将部分或全部日志路由到支持的目的地。您可能想要控制日志路由方式的一些原因包括:

  • 存储不太可能读取但必须保留以符合法规要求的日志
  • 以对您有用的格式将日志组织在存储桶中
  • 在日志中使用大数据分析工具
  • 将日志流式传输到其他应用程序、其他存储库或第三方

支持的目的地为:

云存储:存储在云存储桶中的JSON文件。

Pub/Sub:传递到Pub/Sub主题的JSON消息。支持第三方集成,如Splunk和Logging。

BigQuery:在BigQuery数据集中创建的表。

另一个云日志存储桶:保存在云日志记录存储桶中的日志条目。

对于您的场景,最好是BigQuery Sink

在文档中,您有一个关于如何创建接收器的分步指南。

有用的链接:

  • 日志的BigQuery模式
  • 查看接收器目标中的日志
  • 配置聚合接收器
  • 如何从谷歌云日志导出日志到BigQuery-Youtube视频