增强 AWS Glue 作业的监控和调试,通过新的作业可观察性指标,第二部分:使用 Grafana

项目展示

通过新作业可观测性指标增强 AWS Glue 作业监控与调试第二部分

关键点总结

了解如何利用 Grafana 实现 AWS Glue 作业的实时监控。本文介绍了 AWS Glue 作业可观测性指标的整合,帮助用户可视化各类性能指标,从而提升数据管道的可靠性和效率。

实时监控数据管道对于及时发现问题和减少干扰至关重要。AWS Glue 通过推出作业可观测性指标,使这一过程变得更加简单,这些指标提供了关于您基于 AWS Glue 构建的数据集成管道的宝贵见解。然而,如果您需要跨多个作业跟踪关键性能指标,那么一个可以可视化相同指标并能够深入到单个问题的仪表板将是一个有效的解决方案。

本文将介绍如何将 AWS Glue 作业可观测性指标与 Grafana 集成,使用Amazon Managed Grafana。我们将讨论可用的指标和图表类型,以突出关键见解,并提供两个用例,监控您的 AWS Glue 作业的错误类别和吞吐量。

同时,您可能会对以下内容感兴趣:

猎豹梯子使用新作业可观测性指标增强 AWS Glue 作业监控与调试使用新作业可观测性指标增强 AWS Glue 作业监控与调试,第三部分:使用 Amazon QuickSight 进行可视化和趋势分析

解决方案概述

Grafana 是一个开源可视化工具,它允许您查询、可视化、警报并理解您的指标,无论它们存储在何处。通过 Grafana,您可以创建、探索并共享具有丰富视觉效果的数据驱动仪表板。新的 AWS Glue 作业可观测性指标可以轻松与 Grafana 集成,以实现实时监控。诸如工作器利用率、偏斜度、I/O 速率和错误等指标被捕获并在易于读取的 Grafana 仪表板中可视化。与 Grafana 的集成提供了一种灵活的方法来构建自定义的管道健康视图,以满足您的需求。可观测性指标开启了先前在 AWS Glue 上无法实现的监控能力。依赖 AWS Glue 进行关键数据集成管道的公司可以更有信心地确保其管道高效运行。

AWS Glue 作业可观测性指标作为Amazon CloudWatch 指标发布。您可以配置和管理 Amazon Managed Grafana,并为给定指标配置 CloudWatch 插件。下图说明了解决方案架构。

实施解决方案

按照以下步骤设置解决方案:

设置一个 Amazon Managed Grafana 工作区。登录到您的工作区。选择 Administration。选择 Add new data source。选择 CloudWatch。对于 Default Region,选择您首选的 AWS 区域。对于 Namespaces of Custom Metrics,输入 Glue。选择 Save amp test。

现在 CloudWatch 数据源已成功注册。

从 URL https//gXXXXXXXXXXgrafanaworkspaceltregiongtamazonawscom/datasources/edit/ltdatasourceIDgt/ 中复制数据源 ID。

接下来的步骤是准备 JSON 模板文件。

下载 Grafana 模板。在 JSON 文件中将 ltdatasourceidgt 替换为您的 Grafana 数据源 ID。

最后,配置仪表板。

在 Grafana 控制台,选择 Dashboards。在 New 菜单中选择 Import。上传您的 JSON 文件,然后选择 Import。

Grafana 仪表板将可视化 AWS Glue 可观测性指标,如下图所示。

示例仪表板包含以下图表:

[可靠性] 作业运行错误分类[吞吐量] 读写字节[吞吐量] 读写记录[资源利用率] 工作器利用率[作业性能] 偏斜度[资源利用率] 磁盘使用率 ()[资源利用率] 可用磁盘 (GB)[执行器 OOM] OOM 错误计数[执行器 OOM] 堆内存使用率 ()[驱动程序 OOM] OOM 错误计数[驱动程序 OOM] 堆内存使用率 ()

分析作业失败原因

让我们尝试分析作业 iotdataprocessing 运行失败的原因。

首先,查看图表 [可靠性] 作业运行错误分类。该饼图快速识别出哪些错误最为常见。

然后用作业名称 iotdataprocessing 过滤,查看此作业的常见错误。

我们可以观察到,75 的失败是由于 glueerrorDISKNOSPACEERROR。

接下来,查看图表 [资源利用率] 磁盘使用率 () 以了解作业运行期间驱动程序的磁盘使用情况。对于此作业,绿色线表示驱动程序的磁盘使用情况,黄色线表示执行器的平均磁盘使用情况。

我们可以观察到,执行器中有三次使用了 100 的磁盘空间。

接下来,查看图表 [吞吐量] 读写记录以查看数据量是否发生变化以及是否影响了磁盘使用情况。

增强 AWS Glue 作业的监控和调试,通过新的作业可观察性指标,第二部分:使用 Grafana

图表显示在此范围开始时大约读取了四十亿条记录,但在高峰时读取了约六十三亿条记录。这意味着入站数据量显著增加,并导致工作节点的本地磁盘空间短缺。对于这种情况,您可以增加工作器数量、启用自动扩展或选择更大的工作器类型。

在实施这些建议后,我们可以看到较低的磁盘使用率和成功的作业运行。

可选配置跨账户设置

我们可以选择配置跨账户设置。跨账户指标取决于CloudWatch 跨账户可观测性。在此设置中,我们期待以下环境:

AWS 账户未在 AWS Organizations 中管理您有两个账户:一个账户用于监控Grafana 检测,另一个账户用于数据集成管道

要为此环境配置跨账户设置,请为每个账户完成以下步骤。

监控账户

完成以下步骤以配置您的监控账户:

使用您将在其中进行监控的账户登录到AWS 管理控制台。在 CloudWatch 控制台中,选择导航窗格中的 Settings。在 Monitoring account configuration 下,选择 Configure。在 Select data 中选择 Metrics。在 List source accounts 中输入您希望此监控账户查看的源账户的 AWS 账户 ID。在 Define a label to identify your source account 下选择 Account name。选择 Configure。

现在该账户已成功配置为监控账户。

在 Monitoring account configuration 下,选择 Resources to link accounts。选择 Any account 以获取设置个别账户作为源账户的 URL。选择 Copy URL。

您将在下一步使用从源账户复制的 URL。

源账户

完成以下步骤以配置您的源账户:

使用源账户登录到控制台。输入您从监控账户复制的 URL。

您可以查看 CloudWatch 设置页面,其中填写了一些信息。

在 Select data 中选择 Metrics。在 Enter monitoring account configuration ARN 中不更改 ARN。Define a label to identify your source account 部分预填充了监控账户的标签选择。可选地,选择 Edit 进行更改。选择 Link。在框中输入 Confirm 后选择 Confirm。

现在您的源账户已配置为链接到监控账户。在源账户发布的指标将在监控账户的 Grafana 仪表板上显示。

要了解更多信息,请参见 CloudWatch 跨账户可观测性。

注意事项

使用此解决方案时需考虑以下几点:

Grafana 集成是为实时监控而定义的。如果您对自己的作业有基本的了解,则在 Grafana 仪表板上监控性能、错误等将十分简单。Amazon Managed Grafana 依赖于 AWS IAM Identify Center。这意味着您需要单独管理单点登录 (SSO) 用户,而不仅仅是 AWS 身份和访问管理 (IAM) 用户和角色。这也需要在 AWS 控制台中进行额外的登录步骤。Amazon Managed Grafana 的定价模型依赖于每个工作区的活跃用户许可证,更多的用户意味着可能产生更高的费用。图形线是按作业可视化的。如果您想查看所有作业的图形线,则可以在控件中选择 ALL。

结论

AWS Glue 作业可观测性指标为实时监控数据管道性能提供了强大的新能力。通过将关键指标流式传输到 CloudWatch 并在 Grafana 中可视化,您可以获得之前无法实现的更细粒度的可见性。本文展示了启用可观测性指标以及如何使用 Amazon Managed Grafana 集成数据的简便性。我们探讨了可用的不同指标,以及如何构建自定义 Grafana 仪表板以呈现可操作的见解。

可观测性如今已成为 AWS 上强大数据编排的重要组成部分。通过实时监控数据集成趋势,您可以优化成本、性能和可靠性。

利用微调嵌入模型提升 RAG 准确性主要要点RAG 概述:检索增强生成RAG能从外部数据源提供额外知识,提升大型语言模型LLM的性能。挑战:预训练嵌入模型通常在一般数据集上训练,无法有效捕捉特定领域的细微差异。解决方案:透过在领域特定数据上微调嵌入模型来提高 RAG 系统的准确性。实作示例:介绍如何...

在 Amazon SageMaker 中构建包含人工干预的模型注册审批与推广工作流关键要点本文讨论如何利用 AWS 资源构建可扩展的 ML 模型注册和审批工作流。利用 AWS 生态系统的服务如 Lambda、API Gateway 和 EventBridge,实现 ML 模型的自动审批流程,并加入人...