【问题标题】:How can I export a Stack Driver log to a file for local processing?如何将堆栈驱动程序日志导出到文件以进行本地处理?
【发布时间】:2019-03-10 15:52:27
【问题描述】:

我所知道的是,我们可以使用堆栈驱动程序日志记录或监控服务来获取日志。但是这些日志是从哪里获取的呢? 如果我知道从哪里获取这些日志,则无需进行 API 调用或使用其他服务来查看我的日志。我可以简单地下载它们并使用我自己的代码来处理它们。 有没有办法做到这一点?

【问题讨论】:

    标签: google-cloud-platform stackdriver google-cloud-stackdriver


    【解决方案1】:

    堆栈驱动程序日志记录功能称为“导出”。这是文档的link。在高层次上,导出是指当一条新的日志消息写入日志时,该消息的副本随后会被导出。导出的目标(称为接收器)可以是:

    • 云存储
    • 大查询
    • 发布/订阅

    根据您的描述,如果您将 Cloud Storage 设置为接收器,那么您将有新文件写入您的 Cloud Storage 存储桶,然后您可以检索和处理这些文件。

    以下图片(从文档中复制)给出了最好的概述:

    如果您不希望使用新日志条目的导出,可以使用 API 或 gcloud 来读取当前日志。意识到 GCP 保留的日志(在 Stackdriver 中)会在一段时间(30 天)后过期。见gcloud logging read

    【讨论】:

    • 感谢 Kolben 提供的信息。我有疑问,需要澄清一下。 1. Stackdriver Logging 将提取的日志存储在哪里? 2. 是否默认排除任何日志?如果不是,我想我可以通过 this 方式获取所有日志,对吗?
    • 写入 StackDriver 的日志记录以只有 StackDriver 知道的方式(可能)存储。它可能是谷歌的大数据数据库之一。原木每 30 天修剪一次。无法直接访问日志数据(即没有文件阅读器)。要访问该数据,您需要创建将数据从外部发布到 Cloud Storage、BigQuery 或 Pub/Sub 的导出。只有与过滤器匹配的日志记录才会重新导出,因此您必须正确编写过滤器。 cloud.google.com/logging/docs/export
    猜你喜欢
    • 2018-03-14
    • 2019-04-16
    • 2022-01-12
    • 2020-05-06
    • 1970-01-01
    • 2018-12-15
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多