【发布时间】:2021-04-23 14:42:21
【问题描述】:
我正在尝试将 Google Cloud Organization 的日志从另一个项目导出到 _Default 日志存储桶。目前看来是不可能的。没有一个线索或错误告诉我为什么。 到目前为止,我尝试的是:
- 导出到发布/订阅主题
- 导出到自定义 GCS 存储桶
- 从另一个项目导出到 _Default 日志存储桶。 // 这就是我想要处理的情况。
- 从另一个项目导出到自定义日志存储桶。
在所有这些情况下都观察到相同的行为:根本没有导出日志。
我正在使用 Terraform 来完成这项任务,并且在配置中一切似乎都很好。 我还为服务帐户编写者身份提供了正确的 IAM 权限:
org-logs-role = {
members = [
google_logging_organization_sink.organization_sink.writer_identity
],
role_id = "roles/logging.bucketWriter"
}
而接收器代码是:
resource "google_logging_organization_sink" "organization_sink" {
name = "gbl-snk-${var.project}-${var.environment}-3-gcp"
destination = "logging.googleapis.com/projects/${var.project}/locations/global/buckets/_Default"
org_id = local.organization_id
include_children = true
filter = "protoPayload.serviceName=\"admin.googleapis.com\" OR protoPayload.serviceName=\"cloudidentity.googleapis.com\" OR protoPayload.serviceName=\"login.googleapis.com\" OR protoPayload.serviceName=\"iam.googleapis.com\""
}
列出接收器时,它显示在组织中,但没有日志到达_Default 存储桶(我隐藏了项目真实名称)
gcloud logging sinks list --organization={organization_id}
NAME DESTINATION FILTER
gbl-snk-{project}-global-3-gcp logging.googleapis.com/projects/{project}/locations/global/buckets/_Default protoPayload.serviceName="admin.googleapis.com" OR protoPayload.serviceName="cloudidentity.googleapis.com" OR protoPayload.serviceName="login.googleapis.com" OR protoPayload.serviceName="iam.googleapis.com"
我做错了什么?我可以在组织的日志记录控制台中看到日志,但它们没有到达 {project} _Default 存储桶。
P.S.:我尝试复制/粘贴(以防万一)这段代码(当然是更改存储桶名称和 org.id),同样的情况发生了。没有错误,但目标存储桶中没有日志。 https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/logging_organization_sink
我想查看的日志类型是 CreateUser 或 DeleteUser 等事件,来自指定的过滤器。
欢迎任何帮助。
我想说的是,他(在我看来)不是以下内容的重复: Google Cloud Logs not exporting to storage
因为一切都是正确的,根本不会出现错误。
【问题讨论】:
标签: google-cloud-platform google-cloud-logging terraform0.12+