Google云端存储& Stackdriver日志记录:如何使用" gcloud"?读取存储桶日志

时间:2018-03-16 12:24:15

标签: google-cloud-platform google-cloud-storage gcloud bucket stackdriver

我正在尝试通过gcloud命令行程序读取我的Google云端存储项目中的存储区的服务器端日志(以解决我使用存储客户端时遇到的错误)。 似乎Stackdriver Logging UI中没有日志可用。

所以,第一个问题:这些日志是否可用?如果是,我该如何访问它们?

看起来就像可以通过gcloud

一样
Mortens-MacBook-Pro:~ skyfer$ gcloud logging resource-descriptors list | grep -i storage
gcs_bucket                    A Google Cloud Storage (GCS) bucket.                                                                       
project_id,bucket_name,location

但是使用gcloud logging read例如如下所示:

Mortens-MacBook-Pro:~ skyfer$ gcloud logging read "resource.type=gcs_bucket AND logName=projects/my-project/logs/ AND textPayload:StorageException" --limit 10 --format json
[]
ERROR: (gcloud.logging.read) INVALID_ARGUMENT: Name is missing the logs component. Expected the form projects/[PROJECT_ID]/logs/[ID]

所以一个重要的问题是: ID的语法是什么?我能够找到的文档,例如: LogEntryAvailable Logs,似乎没有给出答案。

我尝试了各种格式,但没有一种格式化:它们要么返回语法错误,要么没有结果。我也尝试省略ID,但这只是返回一个空列表:

Mortens-MacBook-Pro:~ skyfer$ gcloud logging read "resource.type=gcs_bucket AND logName=projects/my-project/logs/my-bucket" --limit 10 --format json
[]

如果我将存储桶的名称更改为不存在的存储桶,则它似乎没有区别,表明存储桶名称不是ID的一部分。

存储桶存在于Google云端存储中:通过用户界面和gsutil验证

Mortens-MacBook-Pro:~ skyfer$ gsutil ls gs://my-bucket/
gs://my-bucket/03ea8f19-8135-4101-a04a-aef3f19b0fdb/
gs://my-bucket/59e86a67-d035-4e4a-bc56-7c2da5e8c908/

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

是的,堆栈驱动程序中没有日志。

Google云端存储有3种日志记录。

访问日志:它们提供有关在指定存储桶上发出的所有请求的信息,并且每小时创建一次

每日存储日志:它们提供有关最后一天该存储空间的存储消耗的信息。

云审核日志记录:这为您提供了在云存储中执行的API操作的访问日志,您可以找到有关它的更多详细信息here

您的日志文件将采用特定格式,您可以找到有关它的更多信息here

确定要下载的日志文件后,可以通过以下方式下载:

gsutil cp gs://<bucket_name>/<file_name>

答案 1 :(得分:0)

您可以使用以下命令列出所有日志 gcloud logging logs list

您可以使用以下命令阅读特定日志 gcloud logging read <LOG_NAME>