如何将 Stackdriver logs/sinks 合并为一个 BigQuery project/dataset?

How do I coalesce Stackdriver logs/sinks into one BigQuery project/dataset?

将 Stackdriver 日志接收器设置为 BigQuery 非常简单。

但是,我有很多项目,我不想将每个导出接收器都转到相应的项目,而是想将所有项目的日志合并到 一个 专用项目。

Stackdriver 接收器配置中的配置似乎不允许我select将日志发送到其他项目。


如何select一个不同的project/dataset?

您需要 select 'Custom destination' 选项。这将允许您插入不同的 project/dataset。您看到的默认数据集始终与您当前 select 编辑的任何项目相关联,因此您不能 select 不同的 project/dataset。

改为:

  1. Select 'Custom Destination'
  2. 使用此格式添加目的地:bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]
  3. 在第 2 步中为所述 project/dataset 授予接收器编写器编辑器权限。

查看更多here.

如果您的所有项目都在云文件夹下或在同一组织下,您还可以创建聚合导出,如 https://cloud.google.com/logging/docs/export/aggregated_exports 中所述。

聚合接收器位于文件夹或组织中,并将子项目的所有日志导出到同一目的地。

您可以使用 gcloud 命令在组织级别配置 Bigquery Audit 接收器,如下所示

gcloud logging sinks create my-org-bq-sink bigquery.googleapis.com/projects/my-gcp-project/datasets/my_bq_audit_dataset --include-children --organization=MY_ORG_ID

希望对您有所帮助。