You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS日志入门及AWS Glue日志快速输出至CloudWatch技术咨询

嘿,针对你的两个AWS日志相关问题,我来分享下实操经验,都是新手能快速上手的思路:

1. 如何熟悉AWS中的日志体系?

AWS的日志体系核心围绕CloudWatch Logs展开,不同服务的日志输出逻辑略有不同,你可以按这个路径快速熟悉:

  • 先抓核心:CloudWatch Logs是绝大多数AWS服务的日志存储中心,先搞懂日志组、日志流的概念,以及如何通过控制台/CLI查询、过滤日志。
  • 按服务分类梳理:
    • 计算类服务(EC2、ECS):需要手动安装CloudWatch Agent来收集实例/容器的系统日志、应用日志;
    • 无服务器服务(Lambda、Glue):默认就集成CloudWatch,日志会自动推送,只需确认配置开启;
    • 审计类日志:CloudTrail专门记录AWS API调用操作,和业务日志区分开,用于合规审计;
  • 实操演练:挑2-3个常用服务(比如Glue、Lambda),手动触发一些操作,去CloudWatch里找对应的日志,对比不同服务的日志格式、推送规则;
  • 进阶工具:试试CloudWatch Insights,用类SQL语法查询日志,比如过滤特定关键词、统计日志出现频率,这个在排查问题时特别实用。
2. AWS Glue新手:将日志输出至CloudWatch并快速查看

作为Glue新手,其实这个流程非常简单,分三步就能搞定:

步骤1:确认Glue作业的日志配置

创建或编辑Glue作业时,滑到「监控」区域,确保CloudWatch日志选项是启用状态(默认就是开的)。你可以指定自定义的日志组,比如/aws-glue/jobs/my-custom-jobs,如果用默认的话,日志会存在/aws-glue/jobs/output这个日志组里。

步骤2:在Glue代码中使用内置Logger输出日志

Glue提供了内置的日志对象,直接调用就能把日志推送到CloudWatch,不用额外配置SDK。你的代码示例可以优化得更清晰:

import pyspark.sql.functions as F

# 获取Glue上下文的内置logger
logger = glueContext.get_logger()

# 计算目标字段的去重计数
result_count = df.select(F.countDistinct(df.struct1.field1)).collect()[0][0]

# 输出日志到CloudWatch(支持info/error/warn等级别)
logger.info(f"Resultcount: {result_count}")
  • glueContext.get_logger():这是Glue封装好的日志工具,会自动把日志发送到你配置的CloudWatch日志组;
  • 日志级别:除了info,还可以用logger.error()记录错误信息,logger.warn()记录警告,方便后续在CloudWatch里按级别过滤。

步骤3:快速查看日志的两种方式

  • 从Glue作业控制台直接跳转(最方便):
    打开你的Glue作业,进入「运行历史」标签,找到对应的作业运行记录,点击右侧的「日志」链接,会直接跳转到CloudWatch中该次运行的日志流,不用手动找日志组。
  • 从CloudWatch控制台查询:
    进入CloudWatch控制台,找到「日志组」,定位到你的Glue日志组(比如默认的/aws-glue/jobs/output),找到对应作业名称+运行ID的日志流,就能查看所有日志。如果要快速找到特定内容,比如你的Resultcount,可以用CloudWatch Insights写查询:
    fields @timestamp, @message
    | filter @message like /Resultcount/
    | sort @timestamp desc
    
    这个查询会过滤出所有包含Resultcount的日志,并按时间倒序排列。

内容的提问来源于stack exchange,提问作者naturalia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:03:09