数据源发现和管理 - Amazon CloudWatch 日志

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

数据源发现和管理

CloudWatch Logs 会根据数据源和类型自动发现您的日志数据并对其进行分类,从而更轻松地大规模理解和管理您的日志。此功能为提供来源(例如 Amazon VPC 流日志和 Route 53)以及第三方安全工具提供架构发现。 AWS CloudTrail

日志管理控制台提供了按数据源和类型组织的日志的高级视图,而不仅仅是日志组。该组织可以帮助您:

  • 查看按 AWS 服务、第三方来源(例如 Okta 或 CrowdStrike)和自定义来源分类的日志

  • 自动了解日志数据的架构和结构

  • 根据发现的架构字段创建字段索引策略

  • 更高效地管理不同数据源的日志

  • 按不同数据源查询日志

当您为支持的 AWS 服务启用 CloudWatch 日志记录时, CloudWatch Logs 会自动将相应的架构应用于您的日志。这个自动架构应用程序有助于保持一致性,并提供对日志结构的即时见解。

什么是 CloudWatch 日志数据源?

CloudWatch Logs Data Sources 是一项功能,它提供了一种根据生成日志的来源对日志数据进行组织和分类的新方法。虽然 CloudWatch 日志传统上使用日志组来组织日志,但数据源提供了额外的组织层,可根据日志的源服务和日志类型对日志进行分组。

数据源的工作原理

数据源提供基于服务的日志组织,并简化了整个 AWS 基础架构的发现。您可以轻松地从特定服务中找到日志并按日志类型进行筛选,而无需知道各个日志组的名称或结构。

对于第三方来源,也可以选择应用程序日志源,数据源使用 CloudWatch 管道对您的日志进行分类。将管道配置为采集和转换日志时,需要指定数据源的名称和类型。 CloudWatch 然后,日志会自动对管道处理的所有日志进行分类。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的CloudWatch 管道

数据源使用两个关键标识符对日志进行分类:

  • 数据源名称:生成日志的 AWS 服务、第三方来源或应用程序(例如 Route 53、Amazon VPC CloudTrail、Okta SSO 或 CrowdStrike Falcon)。

  • 数据源类型:该服务生成的特定日志类型。

架构定义了日志数据的结构,包括存在哪些字段以及信息的组织方式。单个数据源可以生成具有不同架构和用途的多种类型的日志。例如, AWS CloudTrail 数据源有两种类型:管理事件(跟踪控制平面操作,例如创建或删除资源)和数据事件(跟踪数据平面操作,例如 S3 对象访问)。每种类型都有不同的架构,因为它们捕获的信息类型不同。

如何开始

CloudWatch 日志根据您的数据源对您的日志进行分类。该方法取决于你正在处理的日志的类型:

AWS 服务 日志

来自支持的日志 AWS 服务会自动按数据源分组,无需任何配置。 CloudWatch 日志可以识别这些日志,并根据源服务应用相应的数据源名称和类型。

第三方日志

第三方日志需要管道来进行数据源分类。将管道配置为从支持的第三方来源(例如 Microsoft Office 365、Okta 或 Palo Alto Networks)提取日志时,需要在管道配置中指定数据源名称和类型。 CrowdStrike CloudWatch 日志使用这些标识符自动对管道处理的所有日志进行分类。

Pipelines 可以选择将第三方日志转换为开放网络安全架构框架 (OCSF) 格式,用于标准化安全事件分析。启用 OCSF 转换后,将根据 OCSF 架构映射自动确定数据源的名称和类型。如果没有 OCSF 转换,则可以在工作流配置中指定数据源名称和类型。

应用程序日志

对于自定义应用程序日志,您可以使用以下方法之一按数据源对其进行分类:

  • 日志组标签-使用密钥向日志组添加标签,cw:datasource:namecw:datasource:type分别为日志组中提取的所有日志指定数据源名称和类型。标签值最多可包含 64 个字符,并且只能包含小写字母、数字和下划线。它们必须以字母或数字开头,并且不能包含双下划线 (__)。

  • 管道配置-在摄取应用程序日志时,通过日志处理管道配置数据源信息。

注意

数据源名称不能以 “aws” 或 “amazon” 开头,以避免与 AWS 服务日志发生冲突。

系统字段

CloudWatch 日志会自动向按数据源分类的日志中添加三个系统字段。这些字段用作默认分面:

  • @data_source_name-包含数据源的名称,如果未确定,则为 “未知”

  • @data_source_type-包含数据源的类型,如果未确定,则为 “未知”

  • @data_format-表示日志数据的格式

当无法确定数据源名称或类型时,这些字段将设置为 “未知”。带有 “未知” 值的数据源在分面和控制台中 “日志管理” 下的数据源表中仍然可见,这使您可以识别未分类的日志以及它们来自哪个日志组。

@data_format字段可以包含以下值之一:

  • Default-未经修改即采集的日志。

  • Custom-通过管道处理器处理的日志或载入带有数据源 name/type 标签的日志组的日志。

  • OCSF-<version>-在管道中使用 OCSF(开放网络安全架构框架)处理器处理的日志。

  • AWS-OTEL-LOG-V<version>-通过 CloudWatch OTLP 端点提取的 OpenTelemetry 日志。

  • AWS-OTEL-TRACE-V<version>-通过 CloudWatch OTLP 端点摄取的 OpenTelemetry 跟踪。

这些系统字段使您能够根据日志的来源和格式筛选和查询日志,从而更轻松地处理来自不同来源和处理管道的日志。

访问数据源

控制台

在 CloudWatch 日志控制台中,您可以使用日志管理选项卡访问您的数据源。 CloudWatch 日志会自动按数据源和类型整合您的日志数据,持续发现新摄取的数据。在数据源列表中,您可以创建管道、定义字段索引和分面。

AWS CLI

使用以下命令列出您账户中的不同数据源和日志类型:

aws logs list-aggregate-log-group-summaries --group-by DATA_SOURCE_NAME_AND_TYPE

与日志组的关系

数据源补充而不是取代日志组。您的日志仍像以前一样存储在日志组中,但现在它们也会自动使用数据源信息进行标记。这种双重组织使您能够:

  • 使用日志组制定精细的访问控制和保留策略

  • 使用数据源进行基于服务的日志发现和分析

  • 根据需要使用任一组织方法查询日志

数据源通过在整个 AWS 基础架构中提供以服务为中心的日志数据视图,可以更轻松地大规模处理日志。