在 Amazon CloudWatch 中访问 Airflow 日志 - Amazon Managed Workflows for Apache Airflow

在 Amazon CloudWatch 中访问 Airflow 日志

Amazon MWAA 可以将 Apache Airflow 日志发送到 Amazon CloudWatch。您可以从一个位置访问多个环境的日志,从而轻松识别 Apache Airflow 任务延迟或工作流程错误,而无需其他第三方工具。需要在 Amazon MWAA 控制台上启用 Apache Airflow 日志,才能在 CloudWatch 中访问 Apache Airflow DAG 处理、任务、Web 服务器和工作线程日志。

定价

  • 将收取标准的 CloudWatch Logs 费用。有关更多信息,请参阅 CloudWatch 定价

开始前的准备工作

日志类型

Amazon MWAA 会为您启用的每个 Airflow 日志选项创建一个日志组,并将日志推送到与环境关联的 CloudWatch Logs 组。日志组以 YourEnvironmentName-LogType 格式命名。例如,如果环境名为 Airflow-v202-Public,则 Apache Airflow 任务日志将发送到 Airflow-v202-Public-Task

日志类型 描述

YourEnvironmentName-DAGProcessing

DAG 处理器管理器(计划程序中处理 DAG 文件的部分)的日志。

YourEnvironmentName-Scheduler

Airflow 计划程序生成的日志。

YourEnvironmentName-Task

DAG 生成的任务日志。

YourEnvironmentName-WebServer

Airflow Web 界面生成的日志。

YourEnvironmentName-Worker

作为工作流程和 DAG 执行的一部分生成的日志。

启用 Apache Airflow 日志

您可以启用 INFOWARNINGERRORCRITICAL 级别的 Apache Airflow 日志。当您选择日志级别时,Amazon MWAA 会发送该级别和所有更高级别的严重性级别的日志。例如,如果您启用 INFO 级别日志,Amazon MWAA 会向 CloudWatch Logs 发送 INFO 日志以及 WARNINGERROR、和 CRITICAL 日志级别。

  1. 在 Amazon MWAA 控制台上打开环境页面

  2. 选择环境。

  3. 选择编辑

  4. 选择下一步

  5. 选择下列一个或多个选项:

    1. 监控窗格上选择 Airflow 计划程序日志组

    2. 监控窗格上选择 Airflow Web 服务器日志组

    3. 监控窗格上选择 Airflow 工作线程日志组

    4. 监控窗格上选择 Airflow DAG 处理日志组

    5. 监控窗格上选择 Airflow 任务日志组

    6. 日志级别中选择日志级别。

  6. 选择下一步

  7. 选择保存

访问 Apache Airflow 日志

下一节将介绍如何在 CloudWatch 控制台中访问 Apache Airflow 日志。

  1. 在 Amazon MWAA 控制台上打开环境页面

  2. 选择环境。

  3. 监控窗格中选择一个日志组。

  4. 日志流中选择日志。

示例计划程序日志

您可以访问调度工作流程并解析 dags 文件夹的计划程序的 Apache Airflow 日志。以下步骤介绍如何在 Amazon MWAA 控制台上打开计划程序的日志组,以及如何在 CloudWatch Logs 控制台上访问 Apache Airflow 日志。

访问 requirements.txt 的日志
  1. 在 Amazon MWAA 控制台上打开环境页面

  2. 选择环境。

  3. 监控窗格上选择 Airflow 计划程序日志组

  4. 日志流中选择 requirements_install_ip 日志。

  5. 请参阅 /usr/local/airflow/.local/bin 上环境中安装的程序包列表。例如:

    Collecting appdirs==1.4.4 (from -r /usr/local/airflow/.local/bin (line 1)) Downloading https://files.pythonhosted.org/packages/3b/00/2344469e2084fb28kjdsfiuyweb47389789vxbmnbjhsdgf5463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl Collecting astroid==2.4.2 (from -r /usr/local/airflow/.local/bin (line 2))
  6. 查看程序包列表以及其中任何程序包在安装过程中是否遇到错误。如果出现问题,您可能会收到类似以下内容的错误:

    2021-03-05T14:34:42.731-07:00 No matching distribution found for LibraryName==1.0.0 (from -r /usr/local/airflow/.local/bin (line 4)) No matching distribution found for LibraryName==1.0.0 (from -r /usr/local/airflow/.local/bin (line 4))

接下来做什么?