如何将负载均衡器日志实时导出到 BigQuery?
Posted
技术标签:
【中文标题】如何将负载均衡器日志实时导出到 BigQuery?【英文标题】:How to export Load Balancer log to BigQuery in Real Time? 【发布时间】:2019-11-26 10:45:30 【问题描述】:我们正在尝试将所有 http 请求导出到我们的谷歌负载均衡器到大查询中。很遗憾,我们注意到数据在 3 分钟后到达 BigQuery。
从本教程开始:https://cloud.google.com/solutions/serverless-pixel-tracking
-
我们创建了一个负载均衡器,它指向公共存储上的 pixel.png
创建了一个接收器以将所有日志导出到 Pub/Sub
使用提供的模板将发布/订阅流式插入到 BigQuery 表中创建了 DataFlow
表按日期分区,并有一个按小时和分钟的簇列。
在我们扩展到每秒 1000 个请求后,我们注意到数据延迟了 2 或 3 分钟
SELECT * FROM DATASET ORDER BY Timestamp desc Limit 100
此查询将在几秒钟后执行,但最后一个结果是 3 分钟前
【问题讨论】:
提示:如果您使用实时数据,请确保服务器时钟与谷歌服务器同步。 【参考方案1】:我正在将大量不同资源的日志直接导出到 BigQuery,而不使用数据流或发布/订阅,我可以实时查看它们。如果你不需要在数据流中做一些特殊的预处理,你可能想尝试直接导出到BigQuery 并删除其他引入延迟的东西。
【讨论】:
我们进行预处理,但只是为了删除负载均衡器行数据的某些列,因此数据流是强制性的 如果您出于隐私考虑,您可以在表格顶部构建一个包含所有列的视图,并仅授予对一组特定列的访问权限。如果您这样做是为了成本,您可以在一天结束时汇总表格并限制对带有视图的今天表格的访问。如果你真的需要使用数据流,也许你必须调整机器数量或时间窗口。以上是关于如何将负载均衡器日志实时导出到 BigQuery?的主要内容,如果未能解决你的问题,请参考以下文章