将超过 30 天的日志提取到 Google 尽管自定义保留,但云日志已丢弃

Ingesting Logs older than 30d into Google Cloud Logging discarded despite custom retention

我们有一个应用程序试图将大约一年的现有应用程序日志迁移到 google 云日志中。 我创建了一个保留时间为 400 天的自定义日志存储桶和一个自定义接收器,该接收器将对给定 logName 的所有请求写入此存储桶。 我还从 _DEFAULT 存储桶中排除了这个 logName。

现在,如果我为给定的 logName 写入日志条目,并使用去年全年的时间戳,所有早于 30 天的条目都将被丢弃。 我什至将 _DEFAULT 存储桶的保留时间增加到例如60d 但仍然不能写入早于 30d 的日志。 这意味着所有日志条目都已成功写入,但只有早于 30 天的条目不会显示在日志资源管理器中。

根据Routing - Log Retention,存储桶应定义保留期:

Cloud Logging retains logs according to retention rules applying to the log bucket type where the logs are held.

而且似乎没有任何 quota 应该限制这一点。

有谁知道为什么尽管正确配置了日志桶和接收器,但时间戳早于 30 天的条目会被静默丢弃?

或者是否有更好的解决方案可以将日志导入 GCL 而无需编写自定义应用程序来执行此操作?

Cloud Logging 目前对它可以在其存储中摄取的 LogEntries 的时间戳有时间限制。仅当时间戳在过去 30 天未来 1 天 内时,才能提取日志。即使您的存储桶保留期设置为 60 天或更长时间,这也适用。

这是当前的限制,将来可能会改变。

免责声明:我在 Cloud Logging 工作