在当今数据驱动的时代,组织必须有效处理和分析快速增长的数据,以揭示关键见解。本文讨论了通过在AWS上构建现代数据架构,如何实现PB级别的日志分析,以及如何使用Amazon OpenSearch服务和Amazon S3实现高效的数据管理。以下是重要内容: 组织通常面临快速增长的数据量的管理难题,同时要优化运营成本,以便从这些数据中获得及时的洞察。如何在增强分析能力的同时,保持一致的性能与合规性,是企业的线上和线下业务所共同面对的挑战。 随着数据量的急剧增加,如何实现高效的数据流动和处理,是现代数据架构中关键的一环。在AWS上,通过构建一个灵活的数据湖解决方案,企业可以方便地聚合各类数据,进行快速分析与机器学习ML。例如,Web 应用程序的日志可以直接流入数据湖,并可快捷地移至像Amazon OpenSearch服务这样的分析存储中进行每日分析。 以一家名为“示例公司”的财富500强企业为例,他们每天生成约500TB的数据,并采取以下策略来管理这些数据: 接下来的部分将讨论三种解决方案来满足类似的需求: OpenSearch服务支持三种集成存储层:热存储、UltraWarm存储和冷存储。根据数据保留、查询延迟和预算需求,选择最佳策略以平衡成本与性能。 该解决方案的工作流程如下: 以下是一个ISM策略示例,在2天后将数据迁移至UltraWarm层,5天后迁移至冷存储,并在21天后删除: json{ policy { description 热温删除工作流 defaultstate hot schemaversion 1 states [ { name hot actions [ { rollover { minindexage 2d minprimaryshardsize 30gb } } ] transitions [ { statename warm } ] } { name warm actions [ { replicacount { numberofreplicas 5 } } ] transitions [ { statename cold conditions { minindexage 5d } } ] } { name cold actions [ { retry { count 5 backoff exponential delay 1h } coldmigration { starttime null endtime null timestampfield @timestamp ignore none } } ] transitions [ { statename delete conditions { minindexage 21d } } ] } { name delete actions [ { retry { count 3 backoff exponential delay 1m } colddelete {} } ] transitions [] } ] ismtemplate { indexpatterns [ log ] priority 100 } }} 使用UltraWarm存储时,为了能够查询不常访问的数据,需要确保计算节点始终处于运行状态。 在PB规模的操作中,建议将实现分解为多个OpenSearch服务域,以减少任何错误的影响。 接下来的两个解决方案则是无需长时间计算,而是通过按需技术获取数据或直接查询数据。 OpenSearch Ingestion是一个完全托管的数据收集器,可将实时日志和追踪数据传送到OpenSearch服务域。它由开源数据收集器 Data Prepper 提供支持。在OpenSearch Ingestion中,您可以过滤、丰富、变换并交付数据,以便在后续分析和可视化中使用。 有两种方式可以使用Amazon S3作为数据源进行数据处理。 该解决方案的主要组成部分如下: 工作流程包括以下步骤: OpenSearch服务直接查询Amazon S3预览是新推出的一种方式,让用户可以在不切换服务之间的情况下直接查询Amazon S3和数据湖中的操作日志。 这一特性提供了 零ETL集成,降低了复制数据或管理多个分析工具的操作复杂性。 该解决方案的关键组成部分如下: 创建数据源时,确保您拥有一个211版本的OpenSearch服务域,并且在AWS Glue数据目录中有适当权限访问的目标S3表。在创建数据源后,您可以进入OpenSearch仪表板进行访问控制设置、定义表、配置模板等。 从业务需求出发,评估是否能够避免摄取噪声数据,选择摄取经筛选、抽样或汇总的数据。使用经过清理和整理的数据集可以有效优化所需的计算与存储资源。 在设计数据摄取管道时,使用压缩、过滤和聚合等策略来减少摄取数据的尺寸,这将允许较小的数据大小在网络上传输并存储。 本文讨论了使用OpenSearch服务在现代数据架构中实现PB级日志分析的多种解决方案。您了解了如何创建无服务器的摄取管道,将日志传送至OpenSearch服务域,利用ISM策略管理索引,配置IAM权限开始使用OpenSearch Ingestion,以及为数据湖中的数据创建管道配置。您还学习了如何设置并使用与Amazon S3的OpenSearch服务直接查询功能,以查询数据湖中的数据。 选择适合您的负载的架构模式时,请考虑性能、延迟、成本和数据量的增长,以做出明智的决策。 接下来的步骤,请参考 Amazon OpenSearch开发者指南 探索可用于构建企业应用可观察性解决方案的日志和指标管道。 Jagadish Kumar 是AWS的高级专业解决方案架构师,专注于Amazon OpenSearch服务,对数据架构充满热情,协助客户在AWS上构建大规模分析解决方案。 Muthu Pitchaimani 是亚马逊OpenSearch服务的高级专业解决方案架构师,构建大型搜索应用与解决方案,专注于网络与安全方面。 Sam Selvan 是亚马逊OpenSearch服务的首席专业解决方案架构师。大规模日志分析:Amazon S3、Amazon OpenSearch 服务 和 Amazon OpenSearch Ingestion的结合
关键要点

解决方案 1:OpenSearch 服务中的分层存储与数据生命周期管理
解决方案概述
注意事项
解决方案 2:通过OpenSearch Ingestion按需摄取日志数据
解决方案概述
解决方案 3:OpenSearch服务与Amazon S3直接查询
解决方案概述
最佳实践
仅摄取所需数据
摄取前减小数据尺寸
结论
关于作者