【问题标题】:gcloud logging read command returns nothinggcloud logging read 命令不返回任何内容
【发布时间】:2018-08-17 14:42:54
【问题描述】:

我正在尝试为一个项目提取 BigQuery 的所有旧日志,以便将它们添加到我通过接收器设置的日志数据集中。我都试过了:

gcloud logging read "resource.type=bigquery_resource AND \
  logName=projects/ql2infare/logs/cloudaudit.googleapis.com%2Fdata_access"

和

gcloud logging read "resource.type=bigquery_resource AND logName=projects/ql2infare/logs/cloudaudit.googleapis.com%2Fdata_access"

两者似乎都在处理,但我没有得到任何返回,即使我有该项目最后一天的日志。一旦我让它工作了 1 天,我将需要为最后一个 Q 运行它。我似乎在 GCP 文档中找不到任何信息。

【问题讨论】:

    标签: logging google-cloud-platform google-bigquery gcloud google-cloud-stackdriver


    【解决方案1】:

    在检索超过 1 天的日志时,您需要指定新鲜度标志。

    gcloud 日志读取 [LOG_FILTER] [--freshness=FRESHNESS; default="1d"]

    查看详情here

    【讨论】:

      【解决方案2】:

      Guoest 有一个关于新鲜度的好观点,但还有另一个问题可能导致这种情况发生:如果您的 gcloud 默认项目未设置为您尝试访问其日志的项目,则需要添加 --project 标志。在您的示例中,这看起来像:

      gcloud logging read "resource.type=bigquery_resource AND \
        logName=projects/ql2infare/logs/cloudaudit.googleapis.com%2Fdata_access" \
        --project=ql2infare
      

      否则,它会尝试在设置为默认设置的任何项目中查找日志,如果它是不同的项目,则不会为 ql2infare 显示任何日志。或者,您可以在运行日志查询之前执行 gcloud config set project ql2infare 更改该默认值。有关详细信息,请参阅 gcloud logging read 和 gcloud config set 的文档。

      【讨论】:

        【解决方案3】:

        您必须以有权访问您尝试获取日志的底层资源的用户身份登录,使用 gcloud auth login,然后运行命令。

        【讨论】:

          猜你喜欢
          • 2021-06-10
          • 2013-08-27
          • 2021-03-12
          • 1970-01-01
          • 2018-08-13
          • 2015-10-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多