如何在 Stackdriver 中导出以前的日志
Posted
技术标签:
【中文标题】如何在 Stackdriver 中导出以前的日志【英文标题】:How to export previous logs in Stackdriver 【发布时间】:2018-02-07 05:46:38 【问题描述】:我在 Stackdriver 中有一个日志,记录每个请求进入我的 api 并失败,我想编写一个脚本来计算每条错误消息出现的次数。问题是,Stackdriver V2 中的导出功能只允许我接收即将出现的错误消息,但我只关心日志中已经存在的日志条目。有没有办法从 Stackdriver 下载完整的日志?
【问题讨论】:
【参考方案1】:我发现最好的方法是使用gcloud cli
您可以使用的示例:
gcloud beta logging read ‘<filter>’ --project ”<project name>” --format json --freshness=<number of days to go back>
【讨论】:
【参考方案2】:请注意,过滤器与您在 Logging gui 中选择高级过滤器时的过滤器相同。
gcloud beta logging read "resource.type=\"gae_app\" resource.labels.module_id=\"api\" \"Ronald Reagan\"" --format=json --freshness=6d > x.txt
【讨论】:
【参考方案3】:您现在可以通过 gcloud CLI 工具执行此操作,使用 gcloud logging read
:https://cloud.google.com/logging/docs/reference/tools/gcloud-logging#reading_log_entries
尽管在所描述的场景中,创建日志接收器是捕获早于堆栈驱动程序日志记录窗口的事件的唯一方法,即使在付费版本中也只有 30 天。
【讨论】:
现在新版本改名为gcloud logging read
:)【参考方案4】:
如果要提取现有日志数据,则需要使用 API 列出条目:https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list
如果您只需要一次性解决方案,您可以直接从 API 文档页面执行此操作。
【讨论】:
以上是关于如何在 Stackdriver 中导出以前的日志的主要内容,如果未能解决你的问题,请参考以下文章
Google StackDriver:如何将其他日志与跟踪日志关联(和嵌套)?
如何清除 Google Cloud Platform 中的 Stackdriver 日志?