首页 > 解决方案 > 如何将日志流式传输到 Google Cloud Storage 存储桶,例如 Google Cloud Build

问题描述

我想将某些 Google Cloud 机器上的一些日志文件的内容“实时流式传输”到 Google Cloud Storage 存储桶,但对我来说如何解决这个问题并不明显。

结果应该类似于 Google Cloud Build 的日志,在生成时可用。

有什么建议么?

谢谢!

标签: logginggoogle-cloud-platformstreamgoogle-cloud-storage

解决方案


根据您想要执行的操作,Stackdriver 及其内置监控可能会执行您想要执行的操作(抱歉,它现在称为操作)https://cloud.google.com/products/operations

如果不是,并且您真的希望它转到 GCS 或类似的东西(尽管再次取决于您想要什么,将日志编组为更结构化的数据并将其放入数据库可能更有意义)IMO 的最佳方式是发送记录到本地文件,并在计时器或系统观察程序上查看日志的大小等,旋转日志并将文件上传到 GCS。我已经使用 cron 作业和使用 gsutil ( https://cloud.google.com/storage/docs/gsutil ) 的 shell 脚本将文件上传到 GCS,然后在本地删除它。

编辑:对不起,看到你希望它“实时”可用......这有点难,但我会实现类似我描述的那样的东西,在这种情况下,日志写入像 Cloud SQL 这样的数据库。我不认为 GCS 是适合这种“实时”日志情况的工具。如果你不能从 Stackdriver 中得到你需要的东西(如果你在那里看的话,你可以编写这些东西称为 sinks 将 Stackdriver 解析为 db 选项),那么直接写入数据库可能是你最好的选择。Cloud SQL 的延迟非常低,因此对于其他进程来说是高度可用的。如果您想要使用 NoSQL 方法,BigTable 或 Firestore 是不错的选择。


推荐阅读