AWS Managed Airflow无法获取日志,Airflow及CloudWatch均无日志输出
AWS托管Airflow(MWAA)任务日志无法查看解决方案
问题现象
使用AWS托管Airflow编排数据管道时,Airflow日志界面与CloudWatch均无法查看任务运行日志,Airflow日志栏返回如下报错:
*** Reading remote log from Cloudwatch log_group: airflow-Task log_stream: 2021-08-26T08_08_24+00_00/1.log. Could not read remote logs from log_group: airflow-Task log_stream: 2021-08-26T08_08_24+00_00/1.log.
排查修复步骤
- IAM执行角色权限校验:首先确认MWAA绑定的执行角色已包含以下CloudWatch日志权限,且资源范围覆盖报错中提到的日志组
airflow-Task的ARN,无显式拒绝策略覆盖权限:
所需权限清单:logs:CreateLogStream、logs:PutLogEvents、logs:GetLogEvents、logs:DescribeLogStreams - 日志组配置校验:确认AWS对应区域下确实存在名为
airflow-Task的CloudWatch日志组,且MWAA环境的日志配置中,任务日志的目标日志组名称与报错中的名称完全一致,没有拼写错误。 - 日志输出配置校验:确认MWAA环境的任务日志级别未设置为关闭,且日志级别匹配你需要输出的日志范围,若仅设置了ERROR级别的日志输出,正常运行的任务无报错时不会生成日志推送到CloudWatch。
- 网络连通性校验:如果MWAA部署在私有子网,确认子网路由配置支持访问CloudWatch服务:要么配置了公网NAT网关,要么配置了CloudWatch的VPC端点,避免日志无法推送导致的日志流不存在问题。
- 特殊场景排查:任务运行时长低于10秒时可能存在日志未完成推送就结束进程的情况,可在DAG任务末尾添加30秒延迟验证;若手动修改过DAG执行日期参数,可到CloudWatch对应日志组下手动搜索前缀匹配的日志流,确认是否存在日志流命名不匹配的问题。
- 快速验证方法:创建仅包含
echo "test log"逻辑的测试Bash任务,运行后等待3-5分钟再查看日志,排除业务DAG本身异常导致无日志生成的问题。
内容的提问来源于stack exchange,提问作者Birat Bade Shrestha
相关产品推荐
相关产品推荐

