我们可以安排 StackDriver Logging 导出日志吗?

Ami*_*dav 2 google-cloud-platform stackdriver google-cloud-stackdriver

我是Google Cloud StackDriver Logging 的新手,根据本文档StackDriver 将数据访问审核日志存储 30 天。在同一页面上还提到,日志条目的大小限制为 100KB。
我知道日志可以使用Cloud SDK以及使用多种语言的日志库导出Google Cloud Storage(我们更喜欢 Python)。 我有两个与导出日志相关的问题,它们是:

  1. StackDriver 中是否有任何方法可以安排类似于任务或 cronjob 的事情,在固定的时间间隔后自动将日志导出到 Google Cloud 存储中?
  2. 大于 100KB 的日志条目会发生什么情况。我假设它们被截断了。我的假设正确吗?如果是,有什么方法可以导出/查看完整的(根本没有被截断的)日志条目?

Joh*_*ley 5

StackDriver 中是否有任何方法可以安排类似于任务或 cronjob 的事情,在固定的时间间隔后自动将日志导出到 Google Cloud 存储中?

Stackdriver 支持通过sinks. 没有您可以设置的时间表,因为一切都是自动的。基本上,数据是导出的as soon as possible,您无法控制每个接收器的导出量或导出之间的延迟。我从来没有发现这是一个问题。根据设计,日志记录不能用作实时系统。最接近的是沉入 PubSub,它有几秒钟的延迟(根据我的经验)。

从 Stackdriver 导出数据有两种方法:

  1. 创建导出接收器。支持的目标是 BigQuery、Cloud Storage 和 PubSub。日志条目将自动写入目标。然后您可以使用工具来处理导出的条目。这是推荐的方法。
  2. 使用 Python、Java 等编写您自己的代码以读取日志条目并使用它们执行您想要的操作。日程安排由您决定。此方法是手动的,需要您管理时间表和目的地。

大于 100KB 的日志条目会发生什么情况。我假设它们被截断了。我的假设正确吗?如果是,有什么方法可以导出/查看完整的(根本没有被截断的)日志条目?

超过条目最大大小的条目无法写入 Stackdriver。尝试创建条目的 API 调用将失败并显示类似于(Python 错误消息)的错误消息:

400 Log entry with size 113.7K exceeds maximum size of 110.0K
Run Code Online (Sandbox Code Playgroud)

这意味着太大的条目将被丢弃,除非作者有逻辑来处理这种情况。