2

我试图从 Stackdriver Logging 界面导出日志。

我从左侧菜单中单击“日志”,然后单击“导出”,现在我看到一条消息:“未配置日志接收器”。

我尝试查看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
4

2 回答 2

1

我认为在这种情况下有两件事发生。

  1. 在 UI 中,“未配置日志接收器”消息只是通知您尚未设置导出规则。要设置它们,请转到主日志记录视图,通过过滤选择要导出的日志,然后单击“创建导出”来创建它们。

显示 Stackdriver Logging 用户界面中“创建导出”按钮位置的屏幕截图

  1. 您从 gcloud 收到的消息表明您可能没有对您尝试编辑以创建新导出接收器的项目的权限。这是您拥有的项目吗?如果没有,所有者需要授予您“日志配置编写者”角色(可能还授予“日志查看者”角色,这样您就可以在创建导出规则之前查看您尝试导出的日志以确保它们'重新您打算导出的那些)。
于 2016-12-21T15:24:49.710 回答
1

日志记录配置

gcloudPERMISSION_DENIED错误表明您尝试创建此接收器的帐户没有项目所有者角色或日志配置编写者角色。正如您已经引用的文档中所述,这些当然是必需的。要查看这是否到位,您可以使用Cloud IAM检查给定账户的角色,并确保当前登录的账户具有正确的角色。此时,应该可以在Stackdriver Logging - Logs下单击CREATE EXPORT

选择目的地

此时,您需要设置一个目标,例如具有适当权限的 Cloud Storage 存储分区cloud-logs@google.com。然而,根据创建接收器,这将在创建接收器时为您完成。

作为创建接收器的一部分,Stackdriver Logging 将首先授予自己 (cloud-logs@google.com) 写入目标的权限。

不过,您可以验证是否cloud-logs@google.com已在 Cloud IAM 中授予适当的权限,以确保 Stackdriver Logging 将被授权写入给定目标。对于 Cloud Storage,cloud-logs@google.com需要指定存储桶的所有者权限,如目标授权中所述。

在 Cloud Storage 中,组 cloud-logs@google.com 被授予对您的存储分区的 Owner 权限。

请注意,使用这些目的地很可能需要您启用计费。


更多错误

以上步骤是创建接收器和设置日志导出所需的全部步骤。如果您已经验证了所有上述凭据/权限,但仍然遇到相同的错误,我建议您在Google Cloud Platform 公共问题跟踪器上提交缺陷报告。我们可以在那时联系并私下检查权限设置,以调查这种与文档不同的行为。

于 2017-01-05T22:02:48.670 回答