amazon-web-services - 登录 AWS 胶水

标签 amazon-web-services aws-glue

我创建了一个成功执行的 AWS 粘合作业。但是,我无法在作业中放置任何自定义日志记录。

如何在 AWS S3 存储桶中创建日志文件,以便跟踪日常作业执行情况?

目前,当我的作业执行时,它会创建默认日志(即 Spark 日志),我可以在 AWS 云监视中看到它。在 AWS 胶水中记录事件的最佳实践是什么?

最佳答案

最佳实践日志记录

AWS Glue 旨在通过 CloudWatch ( see this documentation for details ) 进行最佳日志记录。由于您的日志变得太大而无法确定根本原因,并且在 CloudWatch 中没有与 @varnit 的建议相符的可 Hook 事件,我们可以做下一个最好的事情:创建一个 CloudWatch 仪表板,其中包含一个查询拉取过滤的您的日志版本。

创建自定义仪表板

在 CloudWatch 控制台上,导航到“仪表板”并选择“创建仪表板”。将其命名为有意义的名称(例如,“glue-custom-logs”)。继续,我们将添加和配置“查询结果”小部件。选择您的日志流,如果您使用默认值,可能是“/aws-glue/jobs/error”,并注意,如果您使用普通的 python 打印,Glue 默认为错误流。为您的回顾选择一个合理的时间窗口,以便您的结果在某种程度上进行预过滤。

如果您的自定义日志消息中有一个唯一标识符,例如“glue-custom-log”,我们现在可以轻松编写一个过滤结果的查询:

fields @timestamp, @message
| filter @message like 'glue-custom-log'
| sort @timestamp desc

保存小部件,保存仪表板,现在您可以在 CloudWatch 中轻松访问预先过滤的日志,以满足您的自定义日志记录需求。

关于amazon-web-services - 登录 AWS 胶水,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53609512/

相关文章:

amazon-web-services - 使用胶数据目录中定义的外部表 Redshift 谱

Linux:Find 命令列出所有内容

linux - 加载共享库时出错 : libsqlplus. 所以:无法打开共享对象文件:没有这样的文件或目录

python - 模块未找到错误 : No module named 'psycopg2' [AWS Glue]

amazon-web-services - 从胶水Cloudformation模板对Athena表进行分区

amazon-web-services - 如何在 aws glue 爬虫中为每个表定义自定义分类器?

amazon-web-services - AWS Glue 未检测到 CSV 中的 header

amazon-web-services - AWS API 网关 URL 返回 {"message":"Forbidden"}

amazon-web-services - AWS Textract StartDocumentAnalysis 函数未向 SNS 主题发布消息

amazon-web-services - 无法使用 kops 解决方案在同一 AWS VPC 和子网中创建具有 2 个 kubernetes 集群的 ELB