Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 谷歌云存储&;Stackdriver日志:如何使用“读取存储桶日志”;gcloud“什么;?_Google Cloud Platform_Google Cloud Storage_Gcloud_Bucket_Stackdriver - Fatal编程技术网

Google cloud platform 谷歌云存储&;Stackdriver日志:如何使用“读取存储桶日志”;gcloud“什么;?

Google cloud platform 谷歌云存储&;Stackdriver日志:如何使用“读取存储桶日志”;gcloud“什么;?,google-cloud-platform,google-cloud-storage,gcloud,bucket,stackdriver,Google Cloud Platform,Google Cloud Storage,Gcloud,Bucket,Stackdriver,我正试图通过gcloud命令行程序读取我的Google云存储项目中存储桶的服务器端日志(以解决使用存储客户端时出现的错误)。 似乎日志在中不可用 那么,第一个问题:这些日志是否可用?如果是,我如何访问它们? 看起来应该可以通过gcloud: Mortens-MacBook-Pro:~ skyfer$ gcloud logging resource-descriptors list | grep -i storage gcs_bucket A Google C

我正试图通过
gcloud
命令行程序读取我的Google云存储项目中存储桶的服务器端日志(以解决使用存储客户端时出现的错误)。 似乎日志在中不可用

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

看起来应该可以通过
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的语法是什么?我能找到的文档,例如and,似乎没有给出答案

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

Mortens-MacBook-Pro:~ skyfer$ gcloud logging read "resource.type=gcs_bucket AND logName=projects/my-project/logs/my-bucket" --limit 10 --format json
[]
如果我将bucket的名称更改为不存在的bucket,这似乎没有什么区别,表明bucket名称不是id的一部分

bucket存在于Google云存储中:通过UI和
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/

非常感谢您的帮助。

是的,stackdriver中没有日志

google云存储有3种类型的日志记录

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

每日存储日志:它们提供该存储桶最后一天的存储消耗信息

云审计日志:这让您可以访问在云存储中执行的API操作的日志,您可以找到有关它的更多详细信息

您的日志文件将具有特定的格式,您可以找到有关它的详细信息

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

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

是,stackdriver中没有日志

google云存储有3种类型的日志记录

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

每日存储日志:它们提供该存储桶最后一天的存储消耗信息

云审计日志:这让您可以访问在云存储中执行的API操作的日志,您可以找到有关它的更多详细信息

您的日志文件将具有特定的格式,您可以找到有关它的详细信息

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

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

您可以使用下面的命令列出所有日志
gcloud日志记录日志列表

您可以使用下面的命令读取特定日志
gcloud logging read

您可以使用下面的命令列出所有日志 <代码>gcloud日志列表

您可以使用下面的命令读取特定日志
gcloud日志读取

太棒了,谢谢!我想我是在看审计日志。周一早上上班的第一件事我会调查一下,希望能竖起大拇指给你回复。我不明白为什么我找不到任何日志,但事实证明我没有启用bucket上的日志记录:
gsutil logging set on-b gs://logs my bucket-o access\u log\gs://my bucket
gsutil acl ch-g云存储-analytics@google.com:W gs://logs my bucket
。我现在要等一个小时,看看是否有日志文件出现在我的新日志桶中。它成功了!日志现在可以在“logs my bucket”中找到,这两个版本都可以通过谷歌云存储用户界面和
gsutil cp gs://logs my bucket/access\u log\u usage\u 2018\u 03\u 19\u 09\u 00\u 00\u 00aada\u v0获得。
太棒了,谢谢!我想我是在看审计日志。周一早上上班的第一件事我会调查一下,希望能竖起大拇指给你回复。我不明白为什么我找不到任何日志,但事实证明我没有启用bucket上的日志记录:
gsutil logging set on-b gs://logs my bucket-o access\u log\gs://my bucket
gsutil acl ch-g云存储-analytics@google.com:W gs://logs my bucket
。我现在要等一个小时,看看是否有日志文件出现在我的新日志桶中。它成功了!这些日志现在可以在“日志我的存储桶”中找到,这两个版本都可以通过谷歌云存储用户界面和
gsutil cp gs://logs my bucket/access\u log\u usage\u 2018\u 03\u 19\u 09\u 00\u 00\u 00aada\u v0获得。