本文档介绍如何创建和管理接收器,以将源自 Google Cloud 项目的日志条目路由到支持的目标位置。
接收器执行写入操作,因此必须获得将数据写入目标位置的授权。如果目标位置是与接收器位于同一项目中的日志存储桶,则系统会自动为接收器授权。对于所有其他目标位置,接收器必须关联到已授予将数据写入目标位置所需权限的服务账号。
需要服务账号时,Cloud Logging 会自动创建并管理该账号。但是,您可能需要修改向该服务账号授予的权限。您不必使用 Logging 创建的服务账号。您可以创建和管理由多个项目中的接收器使用的服务账号。如需了解详情,请参阅使用用户代管式服务账号配置日志接收器。
概览
本页面介绍了如何创建接收器,以及如何配置您在使用 Google Cloud 控制台或 API 时可能会看到的选项。
接收器属于给定 Google Cloud 资源: Google Cloud 项目、结算账号、文件夹或组织。当资源收到日志条目时,资源中的每个接收器都会处理日志条目。如果日志条目与接收器的过滤条件匹配,则日志条目会路由到接收器的目标位置。
通常,接收器只会路由源自资源的日志条目。不过,对于文件夹和组织,您可以创建聚合接收器,以路由来自文件夹或组织以及其中包含的资源的日志条目。本文档不讨论聚合接收器。如需了解详情,请参阅汇总接收器概览。
如需创建和管理接收器,您可以使用 Google Cloud 控制台、Cloud Logging API 和 Google Cloud CLI。我们建议您使用 Google Cloud 控制台,原因如下:
- 您可以在创建接收器的流程中配置接收器目标位置。
- 您可以预览与接收器的过滤条件匹配的日志条目。
- 部分授权步骤已简化。
如需了解如何查看和管理日志接收器,请参阅本文档的管理接收器部分。
支持的目标
接收器的目标位置可以位于与接收器不同的资源中。例如,您可以使用日志接收器将日志条目从一个项目路由到存储在其他项目中的日志存储桶。
支持以下目标位置:
- Google Cloud 项目
- 如果您希望目标项目中的日志接收器重新路由日志条目,或者您已创建拦截汇总接收器,请选择此目标位置。作为接收器目标位置的项目中的日志接收器可以将日志条目重新路由到任何受支持的目标位置(项目除外)。 
- 日志存储桶
- 如果您想将日志数据存储在由 Cloud Logging 管理的资源中,请选择此目标位置。您可以使用 Logs Explorer 和 Log Analytics 等服务查看和分析存储在日志存储桶中的日志数据。 - 如果您想将日志数据与其他业务数据联接,可以将日志数据存储在日志存储桶中,然后创建关联的 BigQuery 数据集。关联数据集是一个只读数据集,可以像查询任何其他 BigQuery 数据集一样查询它。 
- BigQuery 数据集
- 如果您想将日志数据与其他业务数据联接,请选择此目标位置。您指定的数据集必须已启用写入功能。 请勿将接收器的目标位置设置为关联的 BigQuery 数据集。关联的数据集是只读的。
- Cloud Storage 存储桶
- 如果您想长期存储日志数据,请选择此目标位置。Cloud Storage 存储桶可以位于作为日志条目来源的项目中,也可以位于其他项目中。日志条目会存储为 JSON 文件。
- Pub/Sub 主题
- 如果您想从Google Cloud 导出日志数据,然后使用第三方集成(例如 Splunk 或 Datadog),请选择此目标位置。日志条目的格式会设置为 JSON,然后路由到 Pub/Sub 主题。
目标位置限制
本部分介绍了特定于目标位置的限制:
- 如果您将日志条目路由到其他 Google Cloud 项目中的日志存储桶,Error Reporting 不会分析这些日志条目。如需了解详情,请参阅 Error Reporting 概览。
- 如果您将日志条目路由到 BigQuery 数据集,则 BigQuery 数据集必须启用了写入功能。您无法将日志条目路由到关联的数据集,因为这些数据集是只读数据集。
- 将日志数据路由到 Cloud Storage 存储桶的新接收器可能需要几个小时才能开始路由日志条目。这些接收器每小时处理一次。
- 如果日志接收器的目标位置是 Google Cloud 项目,则存在以下限制: - 仅限存在一个跃点。
- 与 _Required日志接收器的过滤条件匹配的日志条目仅在源自目标项目时才会路由到目标项目的_Required日志存储桶。
- 只有位于日志条目的资源层次结构中的汇总接收器才会处理日志条目。
 - 例如,假设项目 - A中的某个日志接收器的目标位置是项目- B。那么,以下情况成立:- 由于单跃点限制,项目 B中的日志接收器无法将日志条目重新路由到 Google Cloud 项目。
- 项目 B的_Required日志存储桶仅存储源自项目B的日志条目。该日志存储桶不会存储源自任何其他资源的任何日志条目,包括源自项目A的日志条目。
- 如果项目 A和项目B的资源层次结构不同,则项目A中的日志接收器将日志条目路由到项目B时,该日志条目不会发送到项目B的资源层次结构中的汇总接收器。
- 如果项目 A和项目B具有相同的资源层次结构,则日志条目会发送到该层次结构中的汇总接收器。如果日志条目未被汇总接收器拦截,则日志路由器会将日志条目发送到项目A中的接收器。
 
准备工作
本文档中的说明介绍如何在Google Cloud 项目级创建和管理接收器。您可以使用相同的过程创建接收器来路由源自组织、文件夹或结算账号的日志条目。
如需开始,请执行以下操作:
- 
  
   
   
     
   
  
   
   
     
   
  
 
   
 
 
  
  
    
      Enable the Cloud Logging API. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 确保您的 Google Cloud 项目包含您可以在 Logs Explorer 中查看的日志条目。 
- 
  
  
  
  
  
  
  
    
    
    
    
    
    
      
      
        
        
      
      
    
    
    
    
    
  
  
  如需获得创建、修改或删除接收器所需的权限,请让您的管理员为您授予项目的 Logs Configuration Writer ( roles/logging.configWriter) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。如需了解如何授予 IAM 角色,请参阅 Logging 访问权限控制指南。 
- 您在受支持的目标位置中拥有资源,或者能够创建资源。 - 如需将日志条目路由到目标位置,目标位置必须先存在,然后您才能创建接收器。您可以在任何组织的任何Google Cloud 项目中创建目标位置。 
- 在创建接收器之前,请查看适用于接收器目标位置的限制。如需了解详情,请参阅本文档中的目标位置限制部分。 
- Select the tab for how you plan to use the samples on this page: - Console- When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication. - gcloud- In the Google Cloud console, activate Cloud Shell. - At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize. - REST- 如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。 - 安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI: - gcloud init- 如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。 - 如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。 - 创建接收器- 本部分介绍了如何在 Google Cloud 项目中创建接收器。 每个 Google Cloud 项目最多可以创建 200 个接收器。如需查看路由的日志条目的数量和数据量,请查看 - logging.googleapis.com/exports/指标。- 您可以使用 Logging 查询语言创建与要包含的日志条目匹配的过滤条件表达式。请勿将敏感信息放入接收器过滤条件中。接收器过滤条件会被视为服务数据。 - 如果查询包含多个语句,您可以指定这些语句的联接方式,也可以依靠 Cloud Logging 在语句之间隐式添加结合限制 - AND。例如,假设查询或过滤条件对话框包含两个语句- resource.type = "gce_instance"和- severity >= "ERROR"。实际查询为- resource.type = "gce_instance" AND severity >= "ERROR"。Cloud Logging 同时支持析取限制- OR以及结合限制- AND。使用- OR语句时,我们建议您使用括号对子句进行分组。- 要创建接收器,请执行以下操作: - 控制台- 
在 Google Cloud 控制台中,前往日志路由器页面: 如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。 
- 选择您要路由的日志条目的来源 Google Cloud 项目。 - 例如,如果您想将数据访问日志条目从名为 - Project-A的项目路由到名为- Project-B的项目中的日志存储桶,请选择- Project-A。
- 选择创建接收器。 
- 在接收器详情面板中,输入以下详细信息: - 接收器名称:提供接收器的标识符。请注意,创建接收器后,您无法重命名接收器,但可以将其删除并创建新的接收器。 
- 接收器说明(可选):描述接收器的用途或使用场景。 
 
- 在接收器目标位置面板中,使用选择接收器服务菜单选择接收器服务和目标位置。执行以下任一操作: - 如需将日志条目路由到位于同一Google Cloud 项目中的服务,请选择以下任一选项: - Cloud Logging 存储桶:选择或创建 Logging 存储桶。
 - BigQuery 数据集:选择或创建可写入的数据集以接收路由的日志条目。您还可以选择使用分区表。
 - Cloud Storage 存储桶:选择或创建特定 Cloud Storage 存储桶以接收路由的日志条目。
 - Pub/Sub 主题:选择或创建特定主题以接收路由的日志条目。
 - Splunk:为您的 Splunk 服务选择 Pub/Sub 主题。
 
- 如需将日志条目路由到其他 Google Cloud 项目,请选择Google Cloud 项目,然后输入目标位置的完全限定名称: - logging.googleapis.com/projects/DESTINATION_PROJECT_ID
- 如需将日志条目路由到位于其他Google Cloud 项目中的服务,请执行以下操作: - 选择其他资源。
- 输入目标位置的完全限定名称。如需了解相关语法,请参阅目标位置路径格式。
 
 
- 指定要包含的日志条目: - 前往选择要包含在接收器中的日志面板。 
- 在构建包含项过滤条件字段中,输入与要包含的日志条目匹配的过滤条件表达式。如需详细了解用于编写过滤条件的语法,请参阅 Logging 查询语言。 - 如果您不设置过滤条件,来自所选资源的所有日志条目都会路由到目标位置。 - 例如,如需将所有数据访问日志条目路由到 Logging 存储桶,您可以使用以下过滤条件: - log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")- 过滤条件的长度不能超过 20,000 个字符。 
- 要验证您输入的过滤条件是否正确,请选择预览日志。Logs Explorer 会在新的标签页中打开,其中预填充了过滤条件。 
 
- (可选)配置排除项过滤条件以排除某些包含的日志条目: - 前往选择要从接收器中过滤掉的日志面板。 
- 在排除项过滤条件名称字段中输入名称。 
- 在构建排除项过滤条件部分,输入与要排除的日志条目匹配的过滤条件表达式。您还可以使用 - sample函数选择要排除的日志条目。
 - 您最多可以为每个接收器创建 50 个排除过滤器。请注意,过滤条件的长度不能超过 20000 个字符。 
- 选择创建接收器。 
- 向接收器的服务账号授予向接收器目标位置写入日志条目的权限。如需了解详情,请参阅设置目标位置权限。 
 - gcloud- 要创建接收器,请执行以下操作: - 运行以下 - gcloud logging sinks create命令:- gcloud logging sinks create SINK_NAME SINK_DESTINATION - 在运行命令之前,请先进行以下替换: - SINK_NAME:日志接收器的名称。一旦创建了接收器,便无法更改其名称。
- SINK_DESTINATION:您希望将日志条目路由到的服务或项目。使用适当的路径设置 SINK_DESTINATION,如目标位置路径格式中所述。 - 例如,如果您的接收器目标位置是 Pub/Sub 主题,则 SINK_DESTINATION 如下所示: - pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID 
 - 您还可以提供以下选项: - --log-filter:使用此选项可设置与要包含在接收器中的日志条目匹配的过滤条件。如果您没有为包含项过滤条件提供值,则此过滤条件会与所有日志条目匹配。
- --exclusion:使用此选项可为要从路由中排除接收器的日志条目设置排除项过滤条件。您还可以使用- sample函数选择要排除的日志条目。此选项可以重复;您最多可以为每个接收器创建 50 个排除项过滤条件。
- --description:使用此选项可描述接收器的用途或应用场景。
 - 例如,如需创建 Logging 存储桶的接收器,您的命令可能如下所示: - gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \ --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink" - 如需详细了解如何使用 Google Cloud CLI 创建接收器,请参阅 - gcloud logging sinks参考文档。
- 如果命令响应包含标记为 - "writerIdentity"的 JSON 键,请向接收器的服务账号授予向接收器目标位置写入的权限。如需了解详情,请参阅设置目标位置权限。- 如果响应不包含标记为 - "writerIdentity"的 JSON 键,则无需设置目标位置权限。
 - REST- 如需在 Google Cloud 项目中创建日志记录接收器,请使用 Logging API 中的 - projects.sinks.create。在- LogSink对象中,在方法请求正文中提供适当的必需值:- name:接收器的标识符。请注意,创建接收器后,您无法重命名接收器,但可以删除它并创建新的接收器。
- destination:您希望将日志条目路由到的服务和目标位置。如需将日志条目路由到其他项目或位于其他项目中的目标位置,请使用适当的路径设置- destination字段,如目标位置路径格式中所述。- 例如,如果您的接收器目标位置是 Pub/Sub 主题,则 - destination如下所示:- pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID 
 
- 在 - LogSink对象中,提供适当的可选信息:
- 调用 - projects.sinks.create以创建接收器。
- 如果 API 响应包含标记为 - "writerIdentity"的 JSON 键,请向接收器的服务账号授予向接收器目标位置写入的权限。如需了解详情,请参阅设置目标位置权限。- 如果 API 响应不包含标记为 - "writerIdentity"的 JSON 键,则无需设置目标位置权限。
 - 如需详细了解如何使用 Logging API 创建接收器,请参阅 - LogSink参考文档。- 如果您收到错误通知,请参阅路由和接收器问题排查。 - 目标位置路径格式- 如果您将日志条目路由到位于其他项目中的服务,则必须向接收器提供该服务的完全限定名称。同样,如果您将日志条目路由到其他 Google Cloud 项目,则必须向接收器提供目标项目的完全限定名称: - Cloud Logging 日志存储桶: - logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME 
- 其他 Google Cloud 项目: - logging.googleapis.com/projects/DESTINATION_PROJECT_ID 
 - BigQuery 数据集: - bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID 
 - Cloud Storage: - storage.googleapis.com/BUCKET_NAME 
 - Pub/Sub 主题: - pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID 
 - 设置目标位置权限- 本部分介绍如何向 Logging 授予将日志条目写入接收器目标位置的 Identity and Access Management 权限。如需查看 Logging 角色和权限的完整列表,请参阅访问权限控制。 - 在创建接收器时,Cloud Logging 会为资源创建共享服务账号,除非所需的服务账号已存在。该服务账号可能存在的原因是,底层资源中的所有接收器都使用同一服务账号。资源可以是 Google Cloud 项目、组织、文件夹或结算账号。 - 接收器的写入者身份是与该接收器关联的服务账号的标识符。所有接收器都有写入者身份(向作为日志条目来源的 Google Cloud 项目中的日志存储桶进行写入的接收器除外)。对于后一种配置,您无需使用服务账号,因此接收器的写入者身份字段会在控制台中显示为 - None。API 和 Google Cloud CLI 命令不会报告写入者身份。- 以下说明适用于项目、文件夹、组织和结算账号: - 控制台- 确保您对包含目标位置的Google Cloud 项目拥有 Owner 访问权限。如果您对接收器目标位置没有 Owner 访问权限,请让项目所有者添加写入者身份作为主账号。 
- 如需从新接收器获取接收器的写入者身份(一个邮箱),请执行以下操作: - 
在 Google Cloud 控制台中,前往日志路由器页面: 如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。 
- 在工具栏中,选择包含相应接收器的项目。
- 选择 more_vert 菜单,然后选择查看接收器详情。写入者身份会显示在接收器详情面板中。
 
- 
- 如果 - writerIdentity字段的值包含邮箱,请继续执行下一步。如果该值为- None,则无需为接收器配置目标位置权限。
- 将接收器的写入者身份复制到剪贴板中。 - 邮箱用于标识主账号。前缀 - serviceAccount:指定了账号类型。
- 向接收器的写入者身份中指定的主账号授予将日志数据写入目标位置的权限: - 
在 Google Cloud 控制台中,前往 IAM 页面: 如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。 
- 在工具栏中,确保所选项目是存储目标位置的项目,或者是接收器目标位置。例如,如果目标位置是日志存储桶,请确保工具栏显示存储该日志存储桶的项目。 
- 点击 授予访问权限。 
- 根据日志接收器的目标位置,向接收器的写入者身份中指定的主账号授予 IAM 角色: - Google Cloud 项目:授予 Logs Writer 角色 (roles/logging.logWriter)。具体而言,主账号需要拥有logging.logEntries.route权限。
- 日志存储桶:授予 Logs Bucket Writer 角色 (roles/logging.bucketWriter)。
- Cloud Storage 存储桶:授予 Storage Object Creator 角色 (roles/storage.objectCreator)。
- BigQuery 数据集:授予 BigQuery Data Editor 角色 (roles/bigquery.dataEditor)。
- Pub/Sub 主题,包括 Splunk:授予 Pub/Sub Publisher 角色 (roles/pubsub.publisher)。
 
- Google Cloud 项目:授予 Logs Writer 角色 (
 
- 
 - gcloud- 确保您对包含目标位置的Google Cloud 项目拥有 Owner 访问权限。如果您对接收器目标位置没有 Owner 访问权限,请让项目所有者添加写入者身份作为主账号。 
- 从接收器中的 - writerIdentity字段获取服务账号:- gcloud logging sinks describe SINK_NAME 
- 找到您要修改其权限的接收器,如果接收器详情包含带有 - writerIdentity的行,请继续执行下一步。如果详情不包含- writerIdentity字段,则无需为接收器配置目标位置权限。- 服务账号的写入者身份类似于以下内容: - serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com 
- 通过调用 - gcloud projects add-iam-policy-binding命令,为接收器的写入者身份授予向目标位置写入日志数据的权限。- 在使用以下命令之前,请先进行以下替换: - PROJECT_ID:项目的标识符。 指定用于存储日志接收器目标位置的项目。如果目标位置是项目,请指定该项目。
- PRINCIPAL:您要向其授予角色的主账号的标识符。主账号标识符通常采用以下格式:PRINCIPAL-TYPE:ID。例如user:my-user@example.com。 如需查看PRINCIPAL可以采用的格式的完整列表,请参阅主账号标识符。
- ROLE:IAM 角色。 根据日志接收器的目标位置,为接收器的写入者身份授予 IAM 角色: - Google Cloud 项目:授予 Logs Writer 角色 (roles/logging.logWriter)。具体而言,主账号需要拥有logging.logEntries.route权限。
- 日志存储桶:授予 Logs Bucket Writer 角色 (roles/logging.bucketWriter)。
- Cloud Storage 存储桶:授予 Storage Object Creator 角色 (roles/storage.objectCreator)。
- BigQuery 数据集:授予 BigQuery Data Editor 角色 (roles/bigquery.dataEditor)。
- Pub/Sub 主题,包括 Splunk:授予 Pub/Sub Publisher 角色 (roles/pubsub.publisher)。
 
- Google Cloud 项目:授予 Logs Writer 角色 (
 - 执行 - gcloud projects add-iam-policy-binding命令:- gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
 - REST- 我们建议您使用 Google Cloud 控制台或 Google Cloud CLI 向服务账号授予角色。 - 管理接收器- 创建接收器后,您可以对它们执行以下操作。对接收器所做的任何更改可能需要几分钟才能应用: - 查看详情
- 更新
- 停用 - 您无法停用 _Required接收器。
- 您可以停用 _Default接收器,以停止将日志条目路由到_DefaultLogging 存储桶。
- 如果您想为组织中新创建的所有Google Cloud 项目或文件夹停用 _Default接收器,请考虑配置默认资源设置。
 
- 您无法停用 
- 删除 - 您无法删除 _Default或_Required接收器。
- 删除接收器后,它将不再路由日志条目。
- 如果接收器有专用服务账号,则删除该接收器也会删除相应服务账号。在 2023 年 5 月 22 日之前创建的接收器具有专用服务账号。在 2023 年 5 月 22 日或之后创建的接收器具有共享服务账号。删除接收器不会删除共享服务账号。
 
- 您无法删除 
- 排查失败问题 
 - 查看日志量和错误率
 - 以下是在 Google Cloud 项目中管理接收器的说明。您可以指定结算账号、文件夹或组织,而不是 Google Cloud 项目: - 控制台- 
在 Google Cloud 控制台中,前往日志路由器页面: 如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。 
- 在工具栏中,选择包含接收器的资源。资源可以是项目、文件夹、组织或结算账号。 
 - 日志路由器页面会显示所选资源中的接收器。表中每一行都包含接收器属性的相关信息: - 已启用:指示是启用还是停用接收器的状态。
- 类型:接收器的目标服务,例如 Cloud Logging bucket。
- 名称:接收器的标识符,在创建接收器时提供,例如 _Default。
- 说明:接收器的说明,在创建接收器时提供。
- 目标位置:要将路由的日志条目发送到的目标位置的全名。
- 已创建:创建接收器的日期和时间。
- 上次更新日期:上次修改接收器的日期和时间。
- 数据量:报告路由到日志接收器的日志总量。该值包括路由到日志存储桶、项目或其他目标位置的日志量。
 - 对于表中每一行,more_vert 更多操作菜单提供以下选项: - 查看接收器详情:显示接收器的名称、说明、服务、目标位置、包含过滤器和排除过滤器。选择修改后,系统会打开修改接收器面板。
- 修改接收器:打开修改接收器面板,您可在其中更改接收器的参数。
- 停用接收器:允许您停用接收器并停止将日志条目路由到接收器的目标位置。如需详细了解如何停用接收器,请参阅停止在日志存储桶中存储日志。
- 启用接收器:允许您启用已停用的接收器,并重新开始将日志条目路由到接收器的目标位置。
- 删除接收器:允许您删除接收器,并停止将日志条目路由到接收器的目标位置。
- 排查接收器问题:打开 Logs Explorer,您可以在其中排查接收器错误。
- 查看接收器日志量和错误率:打开 Metrics Explorer,您可以在其中查看和分析接收器中的数据。
 - 如需按某个列对表进行排序,请选择该列的名称。 - gcloud- 如需查看您的 Google Cloud 项目的接收器列表,请使用 - gcloud logging sinks list命令,它对应于 Logging API 方法- projects.sinks.list:- gcloud logging sinks list - 如需查看聚合接收器列表,请使用适当的选项指定包含接收器的资源。例如,如果您在组织级创建接收器,请使用 - --organization=ORGANIZATION_ID选项列出组织的接收器。
- 如需描述接收器,请使用 - gcloud logging sinks describe命令,它对应于 Logging API 方法- projects.sinks.get:- gcloud logging sinks describe SINK_NAME 
- 如需更新接收器,请使用 - gcloud logging sinks update命令,它对应于 API 方法- projects.sink.update。- 您可更新接收器以更改目标位置、过滤条件和说明,或者停用或重新启用接收器: - gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER - 如果这些部分未更改,请省略 NEW_DESTINATION 或 - --log-filter。- 例如,要将名为 - my-project-sink的接收器的目标位置更新为名为- my-second-gcs-bucket的新 Cloud Storage 存储桶目标位置,您的命令如下所示:- gcloud logging sinks update my-project-sink storage.googleapis.com/my-second-gcs-bucket 
- 如需停用接收器,请使用与 API 方法 - projects.sink.update相对应的- gcloud logging sinks update命令,并添加- --disabled选项:- gcloud logging sinks update SINK_NAME --disabled - 如需重新启用接收器,请使用 - gcloud logging sinks update命令、移除- --disabled选项并添加- --no-disabled选项:- gcloud logging sinks update SINK_NAME --no-disabled 
- 如需删除接收器,请使用 - gcloud logging sinks delete命令,它对应于 API 方法- projects.sinks.delete:- gcloud logging sinks delete SINK_NAME - 如需详细了解如何使用 Google Cloud CLI 管理存储桶,请参阅 - gcloud logging sinks参考文档。
 - REST- 如需查看 Google Cloud 项目的接收器,请调用 - projects.sinks.list。
- 如需查看接收器的详细信息,请调用 - projects.sinks.get。
- 如需更新接收器,请调用 - projects.sink.update。- 您可以更新接收器的目标位置、过滤条件和说明。您还可以停用或重新启用接收器。 
- 如需停用接收器,请将 - LogSink对象中的- disabled字段设置为- true,然后调用- projects.sink.update。- 如需重新启用接收器,请将 - LogSink对象中的- disabled字段设置为- false,然后调用- projects.sink.update。
- 要删除接收器,请调用 - projects.sinks.delete。- 如需详细了解如何使用 Logging API 管理接收器,请参阅 - LogSink参考文档。
 - 停止在日志存储桶中存储日志条目- 您可以停用 - _Default接收器和任何用户定义的接收器。当您停用接收器时,接收器会停止将日志条目路由到其目标位置。例如,如果您停用- _Default接收器,则不会有任何日志条目路由到- _Default存储桶。当之前存储的所有日志条目都已达到存储桶的保留期限时,- _Default存储桶会变为空。- 以下说明介绍了如何停用将日志条目路由到 - _Default日志存储桶的 Google Cloud 项目接收器:- 控制台- 
在 Google Cloud 控制台中,前往日志路由器页面: 如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。 
- 如需查找将日志条目路由到 _Default日志存储桶的所有接收器,请按目标位置过滤接收器,然后输入_Default。
- 对于每个接收器,选择 more_vert 菜单,然后选择停用接收器。 - 接收器现已停用,您的 Google Cloud 项目接收器不会再将日志条目路由到 - _Default存储桶。
 - 如需重新启用已停用的接收器,并重新开始将日志条目路由到接收器的目标位置,请执行以下操作: - 
在 Google Cloud 控制台中,前往日志路由器页面: 如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。 
- 如需查找将日志条目路由到 _Default日志存储桶的所有接收器,请按目标位置过滤接收器,然后输入_Default。
- 对于每个接收器,选择 more_vert 菜单,然后选择启用接收器。
 - gcloud- 如需查看您的 Google Cloud 项目的接收器列表,请使用 - gcloud logging sinks list命令,它对应于 Logging API 方法- projects.sinks.list:- gcloud logging sinks list 
- 确定路由到 - _Default日志存储桶的任何接收器。如需描述接收器(包括查看目标位置名称),请使用- gcloud logging sinks describe命令,它对应于 Logging API 方法- projects.sinks.get:- gcloud logging sinks describe SINK_NAME 
- 运行 - gcloud logging sinks update命令并添加- --disabled选项。例如,如需停用- _Default接收器,请使用以下命令:- gcloud logging sinks update _Default --disabled - _Default接收器现已停用,它不再将日志条目路由到- _Default日志存储桶。
 - 如需停用 Google Cloud 项目中路由到 - _Default存储桶的其他接收器,请重复上述步骤。- 如需重新启用接收器,请使用 - gcloud logging sinks update命令、移除- --disabled选项并添加- --no-disabled选项:- gcloud logging sinks update _Default --no-disabled - REST- 如需查看您的 Google Cloud 项目的接收器,请调用 Logging API 方法 - projects.sinks.list。- 确定路由到 - _Default存储桶的任何接收器。
- 例如,如需停用 - _Default接收器,请将- LogSink对象中的- disabled字段设置为- true,然后调用- projects.sink.update。- _Default接收器现已停用,它不再将日志条目路由到- _Default存储桶。
 - 如需停用 Google Cloud 项目中路由到 - _Default存储桶的其他接收器,请重复上述步骤。- 如需重新启用接收器,请将 - LogSink对象中的- disabled字段设置为- false,然后调用- projects.sink.update。- 代码示例- 如需使用客户端库代码配置您所选语言的接收器,请参阅 Logging 客户端库:日志接收器。 - 过滤条件示例- 下面是一些在创建接收器时特别有用的过滤条件示例。 如需了解在构建包含过滤器和排除过滤器时可能有用的其他示例,请参阅查询示例。 - 恢复- _Default接收器过滤条件- 如果您修改了 - _Default接收器的过滤条件,则可能需要将此接收器恢复到原始配置。创建时,- _Default接收器会使用以下包含项过滤条件和空的排除项过滤条件进行配置:- NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \ log_id("externalaudit.googleapis.com/activity") AND NOT \ log_id("cloudaudit.googleapis.com/system_event") AND NOT \ log_id("externalaudit.googleapis.com/system_event") AND NOT \ log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \ log_id("externalaudit.googleapis.com/access_transparency")- 排除 Google Kubernetes Engine 容器和 pod 日志- 如需排除 GKE 系统 - namespaces的 Google Kubernetes Engine 容器和 Pod 日志条目,请使用以下过滤条件:- resource.type = ("k8s_container" OR "k8s_pod") resource.labels.namespace_name = ( "cnrm-system" OR "config-management-system" OR "gatekeeper-system" OR "gke-connect" OR "gke-system" OR "istio-system" OR "knative-serving" OR "monitoring-system" OR "kube-system")- 如需排除 GKE 系统 - logNames的 Google Kubernetes Engine 节点日志条目,请使用以下过滤条件:- resource.type = "k8s_node" logName:( "logs/container-runtime" OR "logs/docker" OR "logs/kube-container-runtime-monitor" OR "logs/kube-logrotate" OR "logs/kube-node-configuration" OR "logs/kube-node-installation" OR "logs/kubelet" OR "logs/kubelet-monitor" OR "logs/node-journal" OR "logs/node-problem-detector")- 如需查看存储在日志存储桶中的 Google Kubernetes Engine 节点、Pod 和容器日志条目量,请使用 Metrics Explorer: - 排除支持性不需要的 Dataflow 日志- 如需排除可支持性不需要的 Dataflow 日志条目,请使用以下过滤条件: - resource.type="dataflow_step" labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"- 如需查看存储在日志存储桶中的 Dataflow 日志量,请使用 Metrics Explorer。 - 可支持性- 虽然 Cloud Logging 可让您排除日志条目并防止将其存储在日志存储桶中,但您可能需要考虑保留有助于提高可支持性的日志条目。使用这些日志条目可以帮助您排查和确定应用的问题。 - 例如,GKE 系统日志条目对于排查 GKE 应用和集群问题非常有用,因为它们是针对集群中发生的事件生成的。这些日志条目可帮助您确定是应用代码还是底层 GKE 集群导致了应用错误。GKE 系统日志还包括由 Kubernetes API 服务器组件生成的 Kubernetes 审核日志,其中包括使用 kubectl 命令和 Kubernetes 事件所做的更改。 - 对于 Dataflow,建议您至少写入系统日志 ( - labels."dataflow.googleapis.com/log_type"="system") 和可支持性日志 (- labels."dataflow.googleapis.com/log_type"="supportability")。这些日志对于开发者观察其 Dataflow 流水线并进行流水线问题排查至关重要,用户可能无法使用 Dataflow 作业详情页面查看作业日志。- 后续步骤- 如果您在使用接收器路由日志条目时遇到问题,请参阅排查路由日志问题。 
- 如需了解如何查看目标位置的日志条目,以及日志如何进行格式设置和组织,请参阅查看接收器目标位置的日志。 
- 如需详细了解如何使用 Logging 查询语言进行查询和过滤,请参阅 Logging 查询语言。 
 - 如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。 - 最后更新时间 (UTC):2025-10-19。 -