如何将负载均衡器日志实时导出到 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?的主要内容,如果未能解决你的问题,请参考以下文章

解析 nginx 日志并导出到 BigQuery

从 Firebase 到 BigQuery 的实时或每小时数据同步

mysql数据库负载均衡高可用之主从主主备份,实时同步

如何让我的客户将 BigQuery 查询结果导出为 CSV

日志服务Python消费组实战:实时分发数据

如何将所有事件数据从 Firebase 导出到 BigQuery?