我试图从Stackdriver Logging界面导出日志。
我点击左侧菜单中的“Logs”,然后点击Exports,现在我看到一条消息说:“没有配置日志接收器。”
我试着查看Google's documentation并且没有任何相关内容,实际上这是第一次出现的字符串“没有配置日志接收器”。在Google搜索中。
修改
使用Cloud Shell的另一种方法是,我输入以下命令:
$ gcloud beta logging sinks create direct-log storage.googleapis.com/log_export_bucket --log compute.googleapis.com/syslog
ERROR: (gcloud.beta.logging.sinks.create) PERMISSION_DENIED: The caller does not have permission
答案 0 :(得分:0)
我认为在这种情况下有两件事情发生。
答案 1 :(得分:0)
PERMISSION_DENIED
gcloud错误表明您尝试创建此接收器的帐户没有项目所有者角色或日志配置编写者角色。如documentation you've already referenced中所述,这些当然是必需的。要查看是否已就绪,您可以使用Cloud IAM检查给定帐户的角色,并确保当前登录的帐户具有适当的角色。此时, Stackdriver Logging - Logs 下单击 CREATE EXPORT 。
此时,您需要设置一个目标,例如具有适当权限cloud-logs@google.com
的云存储桶。然而,根据Creating sinks,这将在创建接收器时为您完成。
作为创建接收器的一部分,Stackdriver Logging将首先授予自己(cloud-logs@google.com)写入目的地的权限。
尽管如此,您可以验证{I}已在Cloud IAM中授予cloud-logs@google.com
相应的权限,以确保Stackdriver日志记录将被授权写入给定目标。对于云存储,cloud-logs@google.com
需要所有者对指定存储区的权限,如Destination authorization中所述。
在云存储中,组cloud-logs@google.com被授予您的存储桶的所有者权限。
请注意,使用这些目的地很可能需要您启用结算功能。
以上步骤是创建接收器和设置日志导出所需的全部步骤。如果您已经验证了所有上述凭据/权限并仍然面临相同的错误,我建议您在Google Cloud Platform public issue tracker上提交缺陷报告。我们可以在那时联系并私下检查权限设置,以调查与文档不同的行为。