如何在 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 read
:https://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>
我在 Stackdriver 中有一个日志记录每个请求进入我的 api 并失败,我想编写一个脚本来计算每条错误消息出现的次数。问题是,Stackdriver V2 中的导出功能只允许我接收即将到来的错误消息,但我只关心已经存在于日志中的日志条目。有没有办法从 Stackdriver 下载完整的日志?
如果您想提取现有日志数据,您需要使用 API 列出条目:https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list
如果您只需要一次性解决方案,您可以直接从 API 文档页面执行此操作。
您现在可以通过 gcloud CLI 工具执行此操作,使用 gcloud logging read
:https://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>