如何在 Stackdriver 中导出以前的日志

How to export previous logs in Stackdriver

我在 Stackdriver 中有一个日志记录每个请求进入我的 api 并失败,我想编写一个脚本来计算每条错误消息出现的次数。问题是,Stackdriver V2 中的导出功能只允许我接收即将到来的错误消息,但我只关心已经存在于日志中的日志条目。有没有办法从 Stackdriver 下载完整的日志?

如果您想提取现有日志数据,您需要使用 API 列出条目:https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list

如果您只需要一次性解决方案,您可以直接从 API 文档页面执行此操作。

您现在可以通过 gcloud CLI 工具执行此操作,使用 gcloud logging readhttps://cloud.google.com/logging/docs/reference/tools/gcloud-logging#reading_log_entries

尽管在所描述的场景中,创建日志接收器是捕获比 Stackdriver 日志记录更早的事件的唯一方法 window,即使在付费版本中也只有 30 天。

请注意,过滤器与您在日志 gui 中选择高级过滤器时相同。

gcloud beta logging read "resource.type=\"gae_app\" resource.labels.module_id=\"api\" \"Ronald Reagan\"" --format=json --freshness=6d > x.txt

我发现最好的方法是 gcloud cli 你可以使用的例子: gcloud beta logging read ‘<filter>’ --project ”<project name>” --format json --freshness=<number of days to go back>